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技术(别问我为什么知道,看项目原来配置猜的)。然后由于吃了没文化的亏,一直不知道问题出哪里,一直报下面这个错

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

接下来就是顿悟时刻了,按照这么多年对于程序的理解,程序得执行啊,按照[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是啥也不太懂,就很尴尬啊

相关推荐