2015-11-23 58 views
3

沒有發現錯誤我有一個簡單的PHP程序,但我遇到這個錯誤:班「的NumberFormatter」在簡單的PHP程序

Class 'NumberFormatter' not found

我已經研究了#1類似的問題,但說實話,沒有人給一個具體的解決方案。其他人建議升級PHP的版本,其他人不要評論php.ini文件中的特定行,這些行都不適合我。

以下是我的代碼:我甚至使用了https://bugs.php.net的建議解決方案,但它仍然無效。

<!DOCTYPE html> 
<html> 
<body> 

<?php 
function writeMsg(){ 

$f = new \NumberFormatter("en", \NumberFormatter::SPELLOUT);  

echo $f->format(1432); 
} 
writeMsg(); 
?> 

</body> 
</html> 
+1

您使用的是哪個版本的PHP?你[啓用/安裝國際擴展](http://stackoverflow.com/questions/15003199/php-5-3-seems-to-be-missing-intl-extension-by-default)? –

+0

PHP版本5.5.27 – TwoThumbSticks

回答

8

兩件事情

  1. 你需要PHP 5.3或以上。

  2. 您可能沒有安裝php-intl擴展。

要檢查,在你的終端上運行:

php -m | grep intl 

如果沒有結果,你需要安裝它的變化取決於你的系統和PHP版本

在Mac上例如,您可以通過運行以下代碼將它安裝到PHP 5.6:

brew install php56-intl 

確保您重新啓動Web服務器呃安裝後!

的XAMPP

編輯:

如果你運行的XAMPP,那麼這可能是安裝但尚未啓用。

  1. 找到你php.ini文件 - 路徑到您的-XAMPP/PHP/php.ini中 - 在編輯器中打開它。

  2. 搜索php_intl。如果您發現;extension=php_intl.dll,那麼只需從行前刪除分號 - 將其取消註釋。

  3. 重新啓動XAMPP!

+0

我是一名PHP新手,只是使用xampp 3.2.1 PHP版本是5.5.27 我可以跟不使用終端的擴展嗎? – TwoThumbSticks

+0

在這種情況下,它可能已安裝但未啓用。你會想找到你的php.ini文件。那可能在你的XAMPP應用方向/ php/php.ini中。在編輯器中打開該文件並搜索「php_intl」。如果你找到'; extension = php_intl.dll',那麼只需從行頭刪除分號 - 這會取消註釋。然後重新啓動XAMPP – djt

+0

謝謝解決我的問題會接受的答案,但我有一個請求。請編輯你的答案,包括xampp方法來幫助其他人,因爲在這裏有類似的問題在stackoverflow但接受的答案是不正確的。 – TwoThumbSticks