首頁 >後端開發 >php教程 >為什麼我的 PHP exec() 函數不工作?

為什麼我的 PHP exec() 函數不工作?

Linda Hamilton
Linda Hamilton原創
2024-12-14 21:37:19684瀏覽

Why Isn't My PHP exec() Function Working?

PHP 中的exec() 函數故障排除

面對exec() 函數的問題可能會令人沮喪,尤其是當它不產生任何結果時效果明顯。本文提供了一個全面的指南來幫助您調試和解決此類問題。

問題:
儘管禁用了 safe_mode 和,但 exec() 函數無法在伺服器上執行命令驗證控制台命令的功能。應用程式的權限已正確設定。

程式碼片段:
已嘗試以下程式碼片段:

echo exec('/usr/bin/whoami');

echo exec('whoami');

exec('whoami 2>&1',$output,$return_val);
if($return_val !== 0) {
    echo 'Error<br>';
    print_r($output);   
}

exec('/usr/bin/whoami 2>&amp;1',$output,$return_val);
if($return_val !== 0) {
    echo 'Error<br>';
    print_r($output);   
}

最後兩個程式碼片段顯示錯誤和空數組。伺服器支援無法提供幫助。

解決方案:

  1. 檢查disable_functions:

      檢查disable_functions:
    • 檢查disable_functions:
  2. 如果存在,請將其刪除並重新啟動 Apache。

  • 啟用偵錯模式:

    #!/usr/bin/php
    ini_set("display_errors", 1);
    ini_set("track_errors", 1);
    ini_set("html_errors", 1);
    error_reporting(E_ALL);
  • 為了更輕鬆地偵錯,請使用以下指令🎜>
為了更輕鬆地偵錯,請使用下列指令:
  • 手動執行腳本:chmod x myscript.php 和 ./myscript.php。

    • 權限問題:
    建立 bash 腳本執行一個簡單的指令,例如 echo「hello world」。
  • 使用 chmod 755 設定檔案和資料夾的權限。 嘗試執行腳本。

    以上是為什麼我的 PHP exec() 函數不工作?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

    陳述:
    本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn