0
我正在尝试在用户apache下创建一个cronjob,但是我得到权限被程序访问的文件所拒绝的错误。我的php脚本无法访问的特定文件是/var/www/html/amazon/amazon_data.txt。下面是我检查的权限,及测试,看能不能写入文件:从命令行执行php时权限被拒绝,而crontab
bash-3.2$ whoami
apache
bash-3.2$ ls -l /var/www/html/amazon/amazon_data.txt
-rwxrwxr-- 1 apache apache 1082 Apr 3 15:43 /var/www/html/amazon/amazon_data.txt
bash-3.2$ vi /var/www/html/amazon/amazon_data.txt
现在,我尝试运行,尝试访问该文件我得到这样的警告的脚本:
bash-3.2$ /usr/bin/php /var/www/html/amazon/amazon_inventory_sync.php
PHP Warning: Module 'json' already loaded in Unknown on line 0
PHP Warning: fopen(amazon_data.txt): failed to open stream: Permission denied in /var/www/html/amazon/amazon_inventory_sync.php on line 26
Warning: fopen(amazon_data.txt): failed to open stream: Permission denied in /var/www/html/amazon/amazon_inventory_sync.php on line 26
Unable to open amazon_data.txt!bash-3.2$
为什么我可以在用户通过命令行执行时访问和编辑文件,而不是在php脚本中?从浏览器运行脚本时没有问题。
编辑:我可以在用户soh下正常运行,他在apache组中。 apache也在apache组中。
谁分配给脚本? – nomistic 2015-04-03 23:46:28
该脚本被分配给apache – 2015-04-03 23:48:47
以及该文件的第26行发生了什么? – nomistic 2015-04-04 00:00:13