[英]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.