当前位置: 首页 > 知识库问答 >
问题:

如何使作曲家识别intl PHP扩展

蒋招
2023-03-14

我正在尝试安装一些symfony捆绑包来创建本教程中的管理工具:http://www.ens.ro/2012/07/13/symfony2-jobeet-day-12-the-admin-bundle/

我正在使用symfony 2.3。*我使用composer作为我的依赖项,如下所述:无法使用composer设置奏鸣曲

但是,当我尝试按照上面的composer文件(php composer.phar update)中所述更新我的symfony buid时,我会遇到以下错误:

  • sonata-project/intl-bundle dev-master的安装请求-

现在我知道安装了php intl扩展,因为它显示在我的info.php文件中(如图所示):http://johnpaulwhatnow.com/intl.png

那么为什么composer/symfony认为没有安装intl扩展呢?

规格:Mamp|php 5.4.10|symfony 2.3.6

编辑:我确实在我的php错误日志中找到了这个错误:

[2013年10月24日14:05:11美国/芝加哥]PHP警告:PHP启动:无法加载动态库“/Applications/MAMP/bin/PHP/php5”。4.10/lib/php/extensions/no-debug-non-zts-20100525/intl.so'-dlopen(/Applications/MAMP/bin/php/php5.4.10/lib/php/extensions/no-debug-non-zts-20100525/intl.so,9):未找到符号:_zend_new_interned_字符串引用自:/Applications/MAMP/bin/php/php5。4.10/lib/php/extensions/no-debug-non-zts-20100525/intl.so应在/Applications/MAMP/bin/php/php5中使用平面名称空间。第0行未知中的4.10/lib/php/extensions/no-debug-non-zts-20100525/intl.so

已解决

我不得不告诉我的CLI使用mamp的php,它intl.so安装。我通过创建一个别名做到了这一点:别名phpmamp='/应用程序/MAMP/bin/php/php5.4.19/bin/php'

然后运行我需要的命令:phpmamp composer。phar更新--首选dist

谢谢你的回答!

共有2个答案

金和雅
2023-03-14

Composer是一个命令行工具,它使用PHP CLI版本,与在Web服务器中运行的PHP相比,它通常具有不同的php.ini。

请在命令行上运行php-i,并检查是否提到了intl扩展。我想不是。另外,使用该扩展修复错误也是一个好主意。这可能与此相关-CLI版本可能触发了此错误。

卢景澄
2023-03-14

因为你可能有两个php.ini....一个用于cli和apache。

您必须同时在这两个文件中加载intl扩展。

编辑

要查找从cli运行php脚本时使用的php.ini,请在终端中使用以下命令:

php -r 'phpinfo();' | grep 'php.ini'
 类似资料:
  • 今天我运行的和更新打破了我的网站完全。我在php.log发现了以下信息: 72.15.153.139--[11/Nov/2015:21:01:45 -0500]"GET/HTTP/1.1"500 - "-" "Mozilla/5.0(Windows NT 6.1; WOW64; rv: 42.0)Gecko/20100101 Firefox/42.0"[Wed Nov11 21:01:48 201

  • 我在当地安装了Jenkinsci。通过Jenkins权威指南第2章的说明安装。我在运行El Capitan的MAC上通过Java Web start/jnlp文件启动Jenkins。一切都很顺利,样本项目正在工作。 我知道我想通过Jenkins运行我的Codeception验收测试。我正在关注Codeception网站上关于这个问题的最新博客文章:http://Codeception.com/02

  • 我将用一个例子来问这个问题。假设我有一个这样的项目目录。 首先我想知道我是否把作曲家放在。项目目录中的json文件是否正确,以便在供应商目录中安装库?第二,假设我有以下几行,作曲家。json 那么作曲家将在哪里配置自动加载来查找关于项目根的类samplevendor\包\sampleclass?我问这个问题是在看了symfony2composer.locked文件中的以下几行之后: 更新:我在自动

  • 我正在使用Symfony 2.3.4 在我的控制台上,我创建了sylius/sylius项目,在安装sensio/distribution捆绑包之前,我更喜欢dist 作曲家抛出此错误消息 我试过: > 编辑sylius/composer.json,并将seno/分布-包:2.3.修改为seno/分布-包:2.2.-dev 在C:\wamp\www\sylius中打开一个shell。将app/co

  • 我用作曲家建立了交响乐。 我在composer.json文件中添加了一些依赖项,如下所示: 当我运行composer.phar更新时,我收到以下消息: 用包信息加载作曲家存储库更新依赖项(包括要求开发)您的需求无法解析为一组可安装的包。 问题1-索纳塔项目/intl捆绑包开发主机的安装请求- 因此,我不知道还有什么更好的方法,我想我可能需要运行composr.phar安装,这给了我以下信息: 加载

  • 我已经按照Ubuntu 16.04网站上的说明安装了composer。在终端中发出“composer”命令后,它将给出通常的输出。安装composer后,我使用下载了composer 现在要安装Laravel,我必须添加。但是没有。我的主目录中的composer文件夹。有谁能告诉我为什么会这样?