[英]Running PHP script via Cron
我正在編寫一個 php 腳本,使用 Instagram Private PHP Api。
它在“root”用戶下通過 SSH 工作正常,但是當我嘗試通過瀏覽器或 cron 運行它時,出現錯誤:警告:chmod():操作不允許在 .....
我想權限有問題,但我在服務器管理方面並不是很擅長,無法理解我能做什么=(
請幫忙,我該如何解決這個問題?
運行 PHP 的用戶必須具有 chmod 給定文件或目錄的權限。 如果您通過 CRON 運行此腳本,則可以在 CRON 作業中將 PHP 運行的用戶設置為正確的用戶。 如果您在瀏覽器中訪問該腳本,則 PHP 很可能以 php 或 php-fpm 或 Web 服務器用戶身份運行。
只需確保給定的文件或文件夾歸 PHP 運行的用戶所有。
注意:不建議您在 CRON 中以 root 身份運行此腳本。
因為 Apache(或您使用的 Web 服務器)使用不同的 Linux 用戶(通常是www-data
)執行 PHP,這顯然與您通過 SSH 訪問時使用的用戶帳戶具有不同的權限。
要解決這個問題,您首先必須知道您要chmod()
的文件夾/文件屬於誰。 如果它屬於root
,那么出於安全考慮,不建議通過任何公共可訪問的腳本來chmod
。
如果它屬於您的用戶名,例如foo
,您可以更改您要chmod()
的文件夾/文件的所有權,以便www-data
組在 SSH 控制台中使用chown()
訪問,然后您chmod()
命令可以毫無問題地執行。
如果您正在編輯/etc/crontab
,請確保用戶參數(一周后的)是root 。
如果您通過crontab -e
編輯 crontab,請添加用戶參數crontab -eu root
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.