Apache+PHP+THINKPHP框架在windows上的搭建

Posted MarshWinter

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Apache+PHP+THINKPHP框架在windows上的搭建相关的知识,希望对你有一定的参考价值。

一、背景

有个老项目用的thinkphp写的,咱也没接触过啊,只能先搭个本地环境测试一下了

二、实操

基础的搭建网上示例挺多的,版本的话按着需要来吧,大同小异。

下面给一个网址,个人觉得非常好的例子

https://blog.csdn.net/zhangtao0417/article/details/81534227主要介绍php+apache的环境搭建

https://blog.csdn.net/zhuanshu666/article/details/74936940[1]主要介绍apache添加CGI功能

现在问题主要,thinkPHP这个框架貌似用的CGI技术(别问我为什么知道,看项目原来配置猜的)。然后由于吃了没文化的亏,一直不知道问题出哪里,一直报下面这个错

image

接下来就是顿悟时刻了,按照这么多年对于程序的理解,程序得执行啊,按照[1]最后给的一个python示例,我猜想<Directory>里面的配置就是允许apache进行CGI执行相关设置,也就是这几行代码,参看链接【1】

AllowOverride All
Options +ExecCGI
Order allow,deny
Allow from all

然后博主把它的py文件放到了自己设置的directory下面,然后我就尝试着把自己的website,即thinkPHP项目所在的文件夹的directory设置给改了,如下

DocumentRoot "${SRVROOT}/htdocs/"
<Directory "${SRVROOT}/htdocs/">
    #
    # Possible values for the Options directive are "None", "All",
    # or any combination of:
    #   Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
    #
    # Note that "MultiViews" must be named *explicitly* --- "Options All"
    # doesn\'t give it to you.
    #
    # The Options directive is both complicated and important.  Please see
    # http://httpd.apache.org/docs/2.4/mod/core.html#options
    # for more information.
    #
    #Options Indexes FollowSymLinks

    #
    # AllowOverride controls what directives may be placed in .htaccess files.
    # It can be "All", "None", or any combination of the keywords:
    #   Options FileInfo AuthConfig Limit
    #
    #AllowOverride None

    #
    # Controls who can get stuff from this server.
    #
    #Require all granted
       AllowOverride All
   Options +ExecCGI
   Order allow,deny
   Allow from all
</Directory>

 

大概在265行吧,结果成功跳转,具体页面就不放了哈~

三、总结

其实现在想想的话,其实如果thinkPHP用的CGI技术,那么应该给它所在的目录设置相应执行设置即可!有点被链接【1】里面的cgi-bin文件夹惯例给限制思路了。

这次的经历挺有意思的,哈哈哈。

ps:不会使php,CGI是啥也不太懂,就很尴尬啊

以上是关于Apache+PHP+THINKPHP框架在windows上的搭建的主要内容,如果未能解决你的问题,请参考以下文章

Apache+PHP+THINKPHP框架在windows上的搭建

thinkphp框架 url 去除index.php

windows7设置定时任务运行ThinkPHP框架程序

thinkPHP框架之初识篇

thinkphp框架url中隐藏index.php

thinkphp5 Apache / IIs环境下 URL重写