解决ThinkPHP部署时Access denied.

解决TkPHP部署时Access denied.问

在本地开发(LAMP)好的ThinkPHP应用,部署到腾讯云时,先是提示_STORAGE_WRITE_ERROR_:./Runtime/Cache/Home/,搜索一下得知是目录权限问题,于是使用命令chmod -R 777 目录名

可以访问首页后,一跳转到其它页面时,就提示Access denied.

于是,发现是ThinkPHPURL_MODEL问题导致ngnix解析问题。

于是我是这样解决的:

  • 进入服务器,首先改php.ini文件。将cgi.fix_pathinfo的值改成1

  • 然后再到nginx.conf中,添加fastcgi_split_path_info ^(.+\.php)(/.+)$;

  • 然后到配置域名解析的文件下(一般是以域名命名的配置文件)。加上这三句
fastcgi_split_path_info ^(.+\.php)(/.+)$;  
fastcgi_param   PATH_INFO   $fastcgi_path_info;  
fastcgi_param   SCRIPT_FILENAME $document_root$fastcgi_script_name;  


然后就解决了。。。

参考1、参考2

因为我的Mac上使用的是LAMP套装,所以很多在 Mac 上测试好的,放到云端就有各种问题。主要是Nginx和Apache的主要问题,毕竟Apache比Nginx的权限更大。所以我就装我云上的Web服务器更换成了Apache。

原著:信鑫-King's Blog » 解决ThinkPHP部署时Access denied.问题

你可能感兴趣的:(linux,thinkphp)