簡體   English   中英

帶參數的PHP shell_exec無法正常工作

[英]PHP shell_exec with parameters is not working

我的服務器中的shell_exec選項有問題。 我正在運行帶有CPanel和PHP的CentOS 5.7。

在我們的編碼中,我們使用shell_exec將參數傳遞給php文件。 我們的示例代碼如下。 我們從一個phpfile調用它(后台進程)

vi test.php

<?php
shell_exec("php -f /home/nikesh/public_html/createtestfile.php 666 >/dev/null &");
?>

其中666是傳遞給php文件的參數。

這在我們的測試服務器中正常運行,在實時服務器中則無法正常工作。

另外,當我使用linux終端執行此操作時,它工作正常,並且正在生成輸出。

即:php -f test.php-工作正常。

但是,當我嘗試在瀏覽器中運行同一文件時,它不起作用。

http://example.com/test.php

我的日志文件中沒有錯誤消息,並且我設置的權限是正確的。

如果有人之前遇到過同樣的問題,請告訴我。 請幫助我解決此問題。

謝謝,

耐克


我已完全授予該文件夾的權限,並且該文件夾不起作用。 我們的服務器已禁用安全模式。

基本的Shell_exec函數在我的服務器中運行。 但是,當我們為php文件提供參數時,它無法通過瀏覽器工作。 但是從Linux終端開始,它可以工作並生成輸出。

它與文件夾權限無關,文件夾具有寫權限。 但是有些功能無法通過瀏覽器運行。 請讓我知道是否需要為此啟用任何功能。 還是需要更改任何服務器/ PHP設置?

您的網絡服務器的php.ini可能已啟用安全模式,或者在disabled_functions ini設置中啟用了此功能。

<?php
phpinfo();
?>

從通過您的網絡服務器的頁面檢查這些變量(假設未禁用)

使用chmod -R 777將777權限授予您的public_html文件夾

這樣嘗試

<?php
shell_exec("php -f /home/nikesh/public_html/createtestfile.php 666 >/dev/null 2>&1");
?>

暫無
暫無

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

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