當調用一個PHP文件,它包含的功能正在失去ARGS:php system();當通過CGI運行,但不會從CLI
<?php system('/bin/sh /usr/local/bin/myScript.sh '.'myArg'); ?>
從CLI通過php myScript.php
一切都正常運行,但通過CGI這樣做的時候,在瀏覽器中打開的網址( apache在後臺)myArg
字符串丟失。 有誰知道什麼可能會失敗?
PD:myScript.sh只是一個
echo "$# $*" >> /tmp/foo.txt
所以尾部/tmp/foo.txt顯示一切正常,從CLI罰款從Apache的CGI。我需要在php.ini中進行任何額外的配置嗎?我需要什麼特別的在我的apache別名文件?它是不祥的嗎?
Thx爲答案,現在myArg只是一個字符串,所以它應該適用於cli和cgi,不是嗎? – user846226
@ user846226:請看我更新的答案。 –
Thx很多答案,但正如我在主要帖子中所述,myScript.php和myScript.sh都可以毫無問題地執行。 myArgv是一個php'字符串',但我已經知道如何從cli/cgi獲取參數。這不是一個編碼問題,我可能是與任何類型的PHP CGI配置或與OS內部相關的東西相關的東西。只是爲了說明php myScript.php在通過uri運行時做的很好,但沒有任何參數。 – user846226