php - Composer - 缺少扩展 iconv

标签 php apache composer-php iconv nette

我正在运行 Manjaro linux,我已经安装了 apache 2.4.10-1 以及 php 5.5.15-1 和 php-composer 1.0.0.alpha8.458-1。

我想通过这个命令用composer下载项目

composer create-project nette/sandbox TaskManager

但是我在使用 ext-iconv 时遇到错误

- nette/neon v2.2.1 requires ext-iconv * -> the requested PHP extension iconv is missing from your system.
- nette/nette v2.2.0 requires ext-iconv * -> the requested PHP extension iconv is missing from your system.

但是在我的 php.ini 中我启用了 iconv 扩展

extension=iconv.so
.
.
[iconv]
iconv.input_encoding = ISO-8859-1
iconv.internal_encoding = ISO-8859-1
iconv.output_encoding = ISO-8859-1

在我的 php 脚本中,我可以毫无问题地使用 iconv 函数。

当我运行 php -m 时,我在列表中看到 iconv 和其他模块

知道哪里有问题吗?

编辑: 当我从 cli 运行 php -i 时,我得到了这个:

Configuration File (php.ini) Path => /etc/php
Loaded Configuration File => /etc/php/php.ini
Scan this dir for additional .ini files => /etc/php/conf.d
Additional .ini files parsed => (none)

并且在这个配置文件中启用了iconv。

即使在运行的时候

php -d error_reporting=E_ALL -r 'echo iconv("UTF-8", "ASCII//TRANSLIT", "Žluťoučký kůň\n");'

它正确执行并打印“Zlutoucky kun”。

最佳答案

所以我发现, Composer 使用不同的 php 配置文件,该文件存储在

/usr/share/php-composer/php.ini

我刚刚添加了以下行

extension=iconv.so

一切正常!

关于php - Composer - 缺少扩展 iconv,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25122037/

相关文章:

php - WordPress 检查查询中的空数据

php - symfony 中的自定义验证器

apache - 使用.htaccess动态重定向到子文件夹,不使用域名隐藏url中的子文件夹

apache - 如何在根 url(/- 无路径)中运行 FastCGI 脚本?

php - require_once(PHP/CodeCoverage/Filter.php) : failed to open stream

laravel - 我需要在服务器上安装 Composer 吗?

php - 带有时区的php中的DateTime

php - 如何从数据库中检索 id 以删除信息?

tomcat - 使用 Apache HTTP 实例支持 Tomcat 的最简单方法

PHP:将依赖项打包在一个文件中