簡體   English   中英

從PHP腳本運行linux命令?

[英]Running a linux command from a PHP script?

我知道這是一個簡單的問題,但是我無法一生都可以使用它。 如果我通過SSH(linux)登錄到服務器並輸入: /home/username/public_html/x/foo.cgi f=subscribe l=list e=abcd@gmail.com則腳本可以完美運行。 但是,如果我嘗試通過以下方式通過PHP運行腳本: shell_exec("/home/username/public_html/x/foo.cgi f=subscribe l=list e=abcd@gmail.com"); 什么都沒發生。

誰能指出我正確的方向?

提前謝謝!

特雷

“什么也沒有發生”不是描述性很強的錯誤消息。 但是,我想到了三種可能性:

  1. 服務器托管環境與Shell環境之間的差異。
  2. 您的服務器或托管站點可能已禁用shell_exec或其他功能。
  3. 您可能需要以與SSH相同的用戶身份運行PHP(否則將獲得正確的權限)。
  4. 由於配置錯誤或使用不當,堆棧的其他部分處於混亂狀態。

隨便你。 檢查您的日志。 確保您沒有留下任何可供攻擊者入侵的漏洞。

如果要管理服務器,則很可能是權限問題。 您的網絡服務器以www-data或其他類似用戶的身份運行。 它需要腳本文件的執行權限才能運行它。 嘗試使用chmod命令更改腳本的所有者,或使用chown命令為您要運行的文件提供更多自由訪問權限。

要考慮的另一件事是,如果PHP以安全模式運行,則可以禁用shell_exec。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM