php5.4.0的一些小問題

來源:互聯網
上載者:User
晚上剛剛更新了php5.4.0,環境是Windows7 + Apache2.2 + MySQL5.1 + PHP5.4.0,php.ini沒有重新更新,仍然採用之前的版本(php5.2)
如題,有兩個小問題:

1,php5.4.0的命名空間空間問題:
 

出現:
Fatal error: Namespace declaration statement has to be the very first statement in the script in F:\htdocs\rules.php on line 2
這是啥問題啊???怎樣聲明都沒用。。。。直接copy手冊的代碼也出錯。。。。是php5.4自己的錯誤還是我配置的問題??

2,直接貼代碼吧:
$phpinfo = function (){echo 'hello world!';}phpinfo();$phpinfo();


錯誤碼:Parse error: syntax error, unexpected 'phpinfo' (T_STRING)
我想這不是啥問題,只是想知道它是為啥這樣.如果直接重寫覆蓋會直接在函聲明處產生一個致命錯誤,可是這裡卻能正常執行,而且直接覆蓋掉了php內建方法(雖然不能正常輸出),這應該不只是在5.4裡面有,相信在其他版本裡同樣會有,是一個Bug嗎??謝謝
另外,能不能給小弟我說說5.4版本的一些特性呢??
很久沒敲php了,都有點生疏了,更別說是瞭解php的新特性了。。。。
再次感謝!


回複討論(解決方案)

還有一個問題。
PHP Warning: PHP Startup: Invalid library (maybe not a PHP library) 'libmcrypt.dll' in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library '../PHP/ext\php_iconv.dll' - 中包含無效路徑
in Unknown on line 0

這個怎麼解決?在UE中調用php.exe調試輸出的,但是正常使用沒有問題。。。。很鬱悶的,DOS為什麼會報錯。。。。
(註:我自己配置的移動配置,之前有報錯,把libmcrypt.dll和php_iconv.dll放到/Windows目錄下可用,現在卻又報錯了,鬱悶。。。。)

1.錯誤提示的很清楚了,估計是你的程式存有BOM頭。 2.這是給$phpinfo賦值,所以要在行末加上分號來正確關閉。
3.錯誤提示給你的路徑你看看對不對

第一個應該是bom頭的問題
第二個只是定義了$phpinfo是一個匿名函數,和phpinfo()沒有半毛錢關係,並沒有覆蓋掉phpinfo(),後面加上';' 就正常了
新特性支援以下文法:

//Short array syntax$a=[1,2,3,4,5,6];//Array dereferencingfunction foo(){ return array(1,2,3,4);}echo foo()[1];


還有Buid-in web server和Traits 樓下接著補充

確認問題一:確實是UTF-8的BOM頭問題,已解決:
UE儲存時採用格式為UTF-8 無BOM,搞定!
延伸問題二:後面引號去除可以正確調用,但是為啥引號不添加卻不會報錯??

我也碰到了問題一,不過我的是因為首行寫了 `#! /bin/env php`
語言的變更很難三言兩語講完的,你最好查文檔。
以下是我查的關於php從5.3到5.4的變更
http://www.php.net/manual/zh/migration54.php

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.