簡體   English   中英

已安裝PHP intl擴展名,但CakePHP安裝表明它已丟失

[英]PHP intl extension is installed, but CakePHP install says it is missing

整整一天的時間,我一直在嘗試啟動CakePHP 3項目。 當我運行composer install命令時,出現以下錯誤:

cakephp/cakephp 3.3.x requires ext-intl * -> the requested PHP extension intl is missing from your system.

我正在使用MacOS Sierra 10.12.2。 XCode和所有爵士樂都是最新的。 我正在通過MAMP Pro 4.0.1(3985)運行PHP 5.6.25。 我試圖通過我的終端安裝CakePHP 3.3.x,該終端使用ZSH而不是Bash。

我花了很長時間嘗試安裝intl。 現在,我非常有信心它確實已安裝:

  1. 當我運行php -m我在PHP模塊列表中看到了intl
  2. 我在php.ini中具有extension=intl.so ,位於/Applications/MAMP/bin/php/php5.6.25/conf/php.ini
  3. 文件intl.so位於目錄/Applications/MAMP/bin/php/php5.6.25/lib/php/extensions/no-debug-non-zts-20131226
  4. 在MAMP的phpinfo頁面上,我可以在Configure Command單元中看到'--enable-intl' 在頁面的下方,它具有自己的表,顯示版本1.1.0支持國際化。 但是,在此表中,對於intl.default_locale行,該值為no value 這可能是我的問題嗎?
  5. 在我的~/.zshrc文件中,我有alias php="/Applications/MAMP/bin/php/php5.6.25/bin/php"因此可以確定使用的是正確的PHP版本和安裝。

我希望我不會因為嘗試使用那么多文章和StackOverflow答案而破壞了任何事情,以使它正常工作。 我知道這里有許多類似的intl問題,但到目前為止,我還沒有任何答案。

所以我想這是我的兩個主要問題:

  1. 我上面列出的證據足以表明我確實已經正確安裝了intl擴展嗎?為什么CakePHP仍然抱怨如果正確安裝了擴展,會丟失該擴展?
  2. 如果未正確安裝,如何解決此問題並安裝CakePHP?

謝謝!

感謝所有發表評論的人。 但是特別感謝Aman Rawat指出我的答案 我已經多次閱讀該線程,但顯然忽略了它。

我在~/.zshrc export PATH="/Applications/MAMP/bin/php/php5.6.25/bin:$PATH"添加了export PATH="/Applications/MAMP/bin/php/php5.6.25/bin:$PATH"

然后,我能夠通過composer安裝CakePHP。

我以為自己有MAMP的PHP。 我將其作為別名,因此終端中的php會正確指向MAMP的PHP安裝,但事實證明PHP實際上從未出現在我的PATH中。

糟糕!

我認為您尚未從php.ini文件啟用intl擴展名。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM