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