簡體   English   中英

Symfony2 中您的系統 (SonataAdminBundle) 中缺少請求的 PHP 擴展 intl

[英]The requested PHP extension intl is missing from your system (SonataAdminBundle) in Symfony2

我嘗試安裝沙箱,但從 Composer 收到以下錯誤:

使用包信息加載 Composer 存儲庫 從鎖定文件安裝依賴項 您的要求無法解析為一組可安裝的包。

問題一

- Installation request for sonata-project/intl-bundle 2.1.0 -> satisfiable by sonata-project/intl-bundle 2.1.0.`

- sonata-project/intl-bundle 2.1.0 requires ext-intl * -> the requested PHP extension intl is missing from your system.`

問題二

- sonata-project/intl-bundle 2.1.0 requires ext-intl * -> the requested PHP extension intl is missing from your system.`

- sonata-project/news-bundle 2.1.x-dev requires sonata-project/intl-bundle 2.1.* -> satisfiable by sonata-project/intl-bundle 2.1.0.
- Installation request for sonata-project/news-bundle 2.1.

Linux用戶

yum install php-intl

我在安裝新的 Magento 2.0 時遇到了同樣的問題,經過不同的嘗試和試驗,我設法按照以下步驟解決了這個問題:

我將所有icu*文件從 php 目錄復制到 Appache 目錄,並且它工作正常。

PHP目錄:

WAMP\\bin\\php\\php5.5.12

應用目錄:

WAMP\\bin\\apache\\apache2.4.9

確保取消注釋 php.ini 文件中的以下行:

擴展=ext/php_intl.dll

就像@Hugehornet指出的那樣 - 你應該通過取消注釋這一行來在php.ini 中啟用這個擴展: extension=ext/php_intl.dll

如果您為此任務使用 wamp 的界面,您實際上是在更新位於 apache 目錄中的php.ini文件。

示例:C:\\wamp\\bin\\apache\\Apache2.4.4\\bin\\php.ini

Composer 正在使用位於 php 安裝目錄中的那個。

示例:C:\\wamp\\bin\\php\\php5.4.12\\php.ini

您應該手動編輯后者並重新啟動 wamp 服務器。

正如錯誤所說,您需要在 php 中啟用 intl 擴展。 在 php.ini 文件中,取消注釋extension=ext/php_intl.dll或類似內容。

編輯:請注意,如果您使用 wamp 或類似的東西,您應該意識到 wamp 配置中的 php.ini 文件不一定是 Composer 使用的文件。

首先確保您的服務器是 isung x86 構建(intl 不適用於 x64),然后:

  • 直接在php.ini激活 intl 擴展
  • 將所有icu*.dll表單php目錄復制到apache目錄
  • 確保您的控制台使用與您剛剛配置source相同的 php 文件夾。

在我的 Windows 系統中,我在流動路徑中有兩個php.ini文件:

C:\wamp\bin\php\phpx.y.z
C:\wamp\bin\apache\Apachex.y.z\bin

我不知道你的路徑是哪一個。 只需確保在它們兩個中添加擴展名即可消除任何疑問。

我在 Mac OS X Yosemite 上,我修復了這個錯誤

您的系統中缺少請求的 PHP 擴展 mcrypt

通過運行以下命令:

brew update
brew upgrade
brew tap homebrew/dupes
brew tap josegonzalez/homebrew-php
brew install php54-mcrypt

如果已經啟用了 intl 並且它不起作用,請在 Path 環境變量中添加您的 PHP 目錄,然后重新啟動您的服務器。 (例如 C:\\Program Files\\wamp\\bin\\php\\phpX.XXX.XXX 表示 wamp)

它對我有用!

在 Ubuntu、Debian 和相關的 Linux 發行版上

sudo apt-get install php-intl

安裝默認 PHP 版本的擴展。 對於其他版本,如果提供的版本正確,像apt-get install php7.3-intl這樣的變體將選擇正確的擴展名。

暫無
暫無

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

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