2010-08-16 58 views
0

我似乎無法弄清楚爲什麼我會收到: 致命錯誤:無法在[path]中的寫入上下文中使用函數返回值。 /admincp/global.php(226):當我嘗試使用fopen/fsockopen以及此類函數來檢索遠程數據時,第12行的eval()'d代碼爲 。fopen:致命錯誤:無法在寫入上下文中使用函數返回值

我的代碼是:

​​3210

我一直在使用的fopen/FREAD嘗試和fsockopen /與fgets。我甚至不知道從哪裏開始調試。

我將不勝感激任何幫助,謝謝!

+0

,什麼是被eval'd? – stillstanding 2010-08-16 15:57:27

+0

我剛剛運行你的代碼,沒有得到任何錯誤,你錯過了什麼?我假設在你的問題中反引號是因爲試圖讓它看起來像代碼,而不是你粘貼的實際代碼。否則,請記住反引號在服務器上執行。 http://php.net/manual/en/language.operators.execution.php – 2010-08-16 15:59:39

+0

這是完整的代碼:http://pastebin.com/crLB429N 我不相信我錯過了任何東西,而且你是正確的試圖讓反引號在這個問題上工作哈哈。 – Billy 2010-08-16 16:33:01

回答

0

empty()只能評估變量 - 不是函數返回值。你的第一個條件是使用empty(ini_get(...))

嘗試:

$base_dir = ini_get('open_basedir'); 

if(function_exists('curl_init') && !ini_get("safe_mode") && empty($base_dir)) 
+0

我永遠不會想到這件事!謝謝! – Billy 2010-08-16 17:23:00

+0

這是'empty'的一個不好的用法。只需執行'... &&!ini_get('open_basedir')'。請參閱[權威指南PHP的isset和空](http://kunststube.net/isset/)爲什麼。 – deceze 2012-06-18 13:31:50

相關問題