這是一個腳本上週工作但不是現在的情況。我只能認爲在Web主機上安裝了一個新的(er)版本的PHP,該版本有一個錯誤。如果這是我的錯,我看不出如何。那麼,這是一個PHP錯誤,一個GoDaddy問題,或者是什麼?確實會忽略註釋字符?
下面只是整個腳本的一部分,但我已經將它縮減爲這個名爲'a.php'的小失敗片段。對於那些失敗的,點擊提交按鈕後,IE會說'這個頁面不能顯示';其他瀏覽器也顯示失敗。 PHP錯誤日誌文件中沒有錯誤。看起來評論字符被忽略。 'allow_url_fopen'爲true,但聲明不應該是運行腳本的一部分。這是在GoDaddy上的多個共享Linux主機上使用PHP v5.3.24和v5.4.19。我在本地WAMP安裝(使用PHP v5.6.0或v5.4.23)上嘗試了這些示例,它們都可以正常工作。
請注意,我不得不在下面的示例中將「http」變成「httpX」以獲取此發佈。
在完整的腳本中,我使用了最後一種方法讓它再次工作,即將URL字符串移動到變量中,並將該變量用作函數的參數。
這三個失敗:
// commented line at end
print "<form action=\"a.php\" method=\"POST\">";
print "<input type=\"submit\" name=\"submit\" /></p>";
print "</form>";
//file_get_contents('httpX://abc.com');
// commented line at beginning
//file_get_contents('httpX://abc.com');
print "<form action=\"a.php\" method=\"POST\">";
print "<input type=\"submit\" name=\"submit\" /></p>";
print "</form>";
// use other commenting characters
print "<form action=\"a.php\" method=\"POST\">";
print "<input type=\"submit\" name=\"submit\" /></p>";
print "</form>";
/*file_get_contents('httpX://abc.com');*/
這四個工作按預期:
// remove offending line
print "<form action=\"a.php\" method=\"POST\">";
print "<input type=\"submit\" name=\"submit\" /></p>";
print "</form>";
// change function name
print "<form action=\"a.php\" method=\"POST\">";
print "<input type=\"submit\" name=\"submit\" /></p>";
print "</form>";
//zile_get_contents('httpX://abc.com');
// change from URL to file
print "<form action=\"a.php\" method=\"POST\">";
print "<input type=\"submit\" name=\"submit\" /></p>";
print "</form>";
//file_get_contents(b.txt);
// set var to URL and use var as argument
print "<form action=\"a.php\" method=\"POST\">";
print "<input type=\"submit\" name=\"submit\" /></p>";
print "</form>";
//$u = 'httpX://abc.com';
//file_get_contents($u);
什麼?你真正的問題是什麼? – ElefantPhace
@ElefantPhace他有一個上週工作的腳本,現在停止工作,他問腳本中是否有什麼不好的東西,他沒有看到,他假設評論字符「//」被php忽略 – CodeBird
他們被忽略,他們是評論。他所擁有的只有三個相同的空格。你的預期產出是多少? – ElefantPhace