連簡單的 echo $var; 都出不來, 那麼基礎的語法會改變嗎?
後來在這裡和這裡看到了原因, 原來是呼叫接收的方式變得不同
在PHP3和PHP4.1.0之前的版本,php.ini設定的register_globals = on,但在PHP5卻預設改成register_globals = off,這會導致$HTTP_GET_VARS等$HTTP_開頭的變數不能等同$_GET來使用,PHP4手冊也建議使用$_GET。要修正這個問題,最簡單的是把php.ini改成register_globals = on,但是很多時候寫程式的沒辦法碰到伺服器主機,所以可以用偷懶方法。例如在每個程式都會執行到的地方設:
$HTTP_GET_VARS = $_GET;
或是認真一點,用Dreamweaver或者UltraEdit可以在多數檔案中搜尋與取代的功能,把$HTTP_GET_VARS換成$_GET。