thinkphp 3.2 生成二维码 在本地测试没问题 放到服务器上就报错了

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了thinkphp 3.2 生成二维码 在本地测试没问题 放到服务器上就报错了相关的知识,希望对你有一定的参考价值。

thinkphp 3.2 生成二维码 在本地测试没问题 放到服务器上就报错了

参考技术A 服务器的PHP版本问题,文件是已经上传了已经有文件行数报错40行的地方调用的函数或者方法现在的服务器php版本不支持调整就可以了 参考技术B 我以前也遇到过,但是我忘了怎么搞的了,写QRcode也是一年前的事情了,方便的话可以把代码贴出来,我可以想想。 参考技术C 目录权限检查一下 参考技术D 没有引入qrcode这个类 第5个回答  2018-01-04 看看类文件是否上传了

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是啥也不太懂,就很尴尬啊

以上是关于thinkphp 3.2 生成二维码 在本地测试没问题 放到服务器上就报错了的主要内容,如果未能解决你的问题,请参考以下文章

thinkPHP5 生成微信小程序二维码 保存在本地

THINKPHP 整合phpqrcode 生成二维码 没logo

thinkphp 3.2 去除调试模式后报错,怎么解决

用thinkphp做的项目,本地测试没问题,放到服务器linux上后

thinkphp U方法生成链接没有host

微信支付二维码本地测试可以,上传到服务器不显示问题