如何在nginx上设置cakephp?
在nginx服务器上设置cakephp-2.5.2时遇到问题。我一直在看这个网站上的问题和其他类似的问题,但答案似乎不太好。我不能使用url重写,因为我不拥有服务器,所以我没有权限处理这些文件,但我可以更改文件。无论如何,我得到了以下错误:如何在nginx上设置cakephp?,cakephp,nginx,cakephp-2.5,Cakephp,Nginx,Cakephp 2.5,在nginx服务器上设置cakephp-2.5.2时遇到问题。我一直在看这个网站上的问题和其他类似的问题,但答案似乎不太好。我不能使用url重写,因为我不拥有服务器,所以我没有权限处理这些文件,但我可以更改文件。无论如何,我得到了以下错误: Warning: _cake_core_ cache was unable to write 'cake_dev_en-us' to File cache in /home/webdev/webroot/cake/lib/Cake/Cache/Cache.p
Warning: _cake_core_ cache was unable to write 'cake_dev_en-us' to File cache in /home/webdev/webroot/cake/lib/Cake/Cache/Cache.php on line 323
Warning: /home/webdev/webroot/cake/app/tmp/cache/persistent/ is not writable in /home/webdev/webroot/cake/lib/Cake/Cache/Engine/FileEngine.php on line 384
Fatal error: Uncaught exception 'CacheException' with message 'Cache engine _cake_core_ is not properly configured.' in /home/webdev/webroot/cake/lib/Cake/Cache/Cache.php:181 Stack trace: #0 /home/webdev/webroot/cake/lib/Cake/Cache/Cache.php(151): Cache::_buildEngine('_cake_core_') #1 /home/webdev/webroot/cake/app/Config/core.php(373): Cache::config('_cake_core_', Array) #2 /home/webdev/webroot/cake/lib/Cake/Core/Configure.php(72): include('/home/webdev/we...') #3 /home/webdev/webroot/cake/lib/Cake/bootstrap.php(175): Configure::bootstrap(true) #4 /home/webdev/webroot/cake/app/webroot/index.php(94): include('/home/webdev/we...') #5 /home/webdev/webroot/cake/index.php(41): require('/home/webdev/we...') #6 {main} thrown in /home/webdev/webroot/cake/lib/Cake/Cache/Cache.php on line 181
经过一些搜索,我做了/home/webdev/webroot/cake/app
,/home/webdev/webroot/cake/app/tmp
,/home/webroot/cake/app/tmp/cache
和/home/webdev/webroot/cake/app/tmp/cache/persistent
,/home/webdev/webroot/cake/app/tmp/logs都有权限775
(或rwxrwxr-x
),但我仍然会遇到这些错误
我不确定在cake/.htaccess
、cake/app/.htaccess
、或cake/app/webdev/.htaccess
文件中,或在cake/app/webroot/index.php
或其他一些文件中是否有我可以更改的内容
任何帮助都将不胜感激。谢谢你Nginx不使用.htaccess,所以不用麻烦了
您的问题是消息中显示的权限问题
如果web服务用户与文件所属的用户不相同或不在同一组中,则设置775无效。在这种情况下,将应用权限5(用于“world”),该权限不授予执行(=输入)tmp目录和读/写的权限
最快的方法是chmod 777 tmp-R
,最好的方法是将tmp递归地传送到web服务组(也许清除缓存是最好的方法).不要将用户添加到web服务组,相反:将web服务用户添加到用户组,这样web服务组可以读取用户的文件(提供适当的组权限)而且,如果用户属于Web服务组,那么他们也可以阅读其他人的文件——这在共享的EnV中是不好的。你是对的。ZAM坚果。再考虑一下,如果有人能够将他们自己或WebService添加到他们最可能拥有的任何用户/组中。通过访问“搞乱nginx配置”,用户说他不能。因此,出于这两个原因,我从我的答案中删除了这个建议。