【发布时间】:2013-08-15 15:56:25
【问题描述】:
我正在运行以下 cake 命令:
./Console/cake schema create DbAcl
现在数据库表已创建,但最后我收到以下错误:
Warning: SplFileInfo::openFile(/var/www/bloglic-2013/cake/app/tmp/cache/persistent/myapp_cake_core_object_map): failed to open stream: Permission denied in /var/www/bloglic-2013/cake/lib/Cake/Cache/Engine/FileEngine.php on line 313
Warning Error: SplFileInfo::openFile(/var/www/bloglic-2013/cake/app/tmp/cache/persistent/myapp_cake_core_file_map): failed to open stream: Permission denied in [/var/www/bloglic-2013/cake/lib/Cake/Cache/Engine/FileEngine.php, line 313]
Warning Error: _cake_core_ cache was unable to write 'file_map' to File cache in [/var/www/bloglic-2013/cake/lib/Cake/Cache/Cache.php, line 309]
Warning Error: SplFileInfo::openFile(/var/www/bloglic-2013/cake/app/tmp/cache/persistent/myapp_cake_core_method_cache): failed to open stream: Permission denied in [/var/www/bloglic-2013/cake/lib/Cake/Cache/Engine/FileEngine.php, line 313]
Warning Error: _cake_core_ cache was unable to write 'method_cache' to File cache in [/var/www/bloglic-2013/cake/lib/Cake/Cache/Cache.php, line 309]
现在我将 chmod 755 添加到所有文件夹,并重新执行命令,但没有任何运气。谁能告诉我如何解决这个问题?
更新
升技更多信息:
这是我对上述文件夹的权利:
marc@Marc> cd /var/www/bloglic-2013/cake
marc@Marc> ls -ld app/tmp/cache/persistent/
drwxrwxrwx 2 marc marc 4096 Aug 13 22:50 app/tmp/cache/persistent/
marc@Marc> chmod 755 app/tmp/cache/persistent/
marc@Marc> ls -ld lib/Cake/Cache/
drwxrwxr-x 3 marc marc 4096 Aug 2 10:16 lib/Cake/Cache/
marc@Marc> ls -ld lib/Cake/Cache/Cache.php
-rwxr-xr-x 1 marc marc 16179 Aug 2 10:16 lib/Cake/Cache/Cache.php
marc@Marc> ls -ld lib/Cake/Cache/Engine/
drwxr-xr-x 2 marc marc 4096 Aug 2 10:16 lib/Cake/Cache/Engine/
marc@Marc> ls -ld lib/Cake/Cache/Engine/FileEngine.php
-rwxr-xr-x 1 marc marc 9759 Aug 2 10:16 lib/Cake/Cache/Engine/FileEngine.php
marc@Marc> ls -ld lib/Cake/Cache/Cache.php
-rwxr-xr-x 1 marc marc 16179 Aug 2 10:16 lib/Cake/Cache/Cache.php
另外请注意,如果没有收到相同的消息,我将无法打开或运行我的任何操作和视图
更多信息
marc@Marc /var/www/bloglic-2013/cake $ ls -l app/tmp/cache/persistent/
total 44
-rw-r--r-- 1 www-data www-data 945 Aug 13 18:45 controllers_hashes.txt
-rw-rw-r-- 1 www-data www-data 43 Aug 13 18:53 myapp_cake_core_acl_en-us
-rw-rw-r-- 1 marc marc 43 Aug 13 23:04 myapp_cake_core_cake_console_
-rw-rw-r-- 1 marc marc 43 Aug 13 23:04 myapp_cake_core_cake_dev_
-rw-rw-r-- 1 www-data www-data 43 Aug 13 22:59 myapp_cake_core_cake_dev_en-us
-rw-rw-r-- 1 www-data www-data 43 Aug 13 22:59 myapp_cake_core_cake_en-us
-rw-rw-r-- 1 www-data www-data 43 Aug 13 22:59 myapp_cake_core_default_en-us
-rw-rw-r-- 1 www-data www-data 5686 Aug 13 22:59 myapp_cake_core_file_map
-rw-rw-r-- 1 www-data www-data 163 Aug 13 22:59 myapp_cake_core_method_cache
-rwxr-xr-x 1 marc marc 441 Aug 13 22:21 myapp_cake_core_object_map
【问题讨论】:
-
我猜测试图访问缓存文件的用户/进程不是 marc,并且没有写权限。尝试 777 或将用户更改为 marc
-
@Elpy 他试图从控制台执行命令
./Console/cake schema create DbAcl,所以他可能是marc。 -
Marc,你有文件
myapp_cake_core_object_map、myapp_cake_core_file_map等吗?你能显示ls -l app/tmp/cache/persistent/(列出文件)吗?也许您尝试覆盖它们,但没有文件本身的权限,而不是目录。 -
@SergeS。我添加了该命令的输出
-
使用
-l选项(减 L,而不是减一)。我需要一个长列表来查看权限和所有者。无论如何,如果你删除这些文件,你可能会成功。
标签: php cakephp file-permissions