【问题标题】:Can't set/find detect_unicode to Off无法将 detect_unicode 设置/查找为 Off
【发布时间】:2012-06-29 19:00:05
【问题描述】:

我想开始使用 phpDocumentor 并且手动安装不断抛出一个错误,提示我没有在终端的 php.ini 中设置 detect_unicode = Off

当我将它添加到我的 php.ini 时,它不需要,并且在运行安装时遇到同样的问题。似乎没有人有这个问题,我这辈子都想不通。

https://github.com/phpDocumentor/phpDocumentor2/blob/develop/README.md#installation

我错过了什么? (我确实在 php.ini 编辑后重新启动了 MAMP 服务器)

终端错误截图...

【问题讨论】:

  • 您的 Apache 和 PHP 版本是多少?
  • MAMP 2.0.5,所以 Apache/2.2.21 & PHP 5.3.6
  • 你解决了吗?我遇到了完全相同的问题

标签: php mamp phpdoc composer-php


【解决方案1】:

如果您无法更改 /usr/local/bin/php/php.ini 文件,请记住对所有 php 调用继续使用“-d detect_unicode=Off”,如下所示:

curl -s https://getcomposer.org/installer | php -d detect_unicode=Off

php -d detect_unicode=Off composer.phar install 

如果您能够更改 php.ini 文件,请将以下内容添加到您的 php.ini 末尾:

detect_unicode = Off

【讨论】:

    【解决方案2】:

    我在 composer-php 中遇到了同样的问题,我将这一行手动添加到 php.ini 文件中。像这样:

    sudo /private/etc/php.ini
    

    然后添加这一行“detect_unicode = Off”

    detect_unicode = Off
    

    然后它的工作,我安装了作曲家。你可以看到这个 How to disable "detect_unicode" setting from php.ini? (trying to install Composer)

    【讨论】:

      【解决方案3】:

      如果您安装了 MAMP/MAMP Pro,那么问题是您的终端可用的 PHP 版本很可能是位于以下位置的系统版本:

      /private/etc/
      

      我遇到了同样的问题,但在我的情况下,我在该目录中没有 php.ini 文件,因此解决它的最佳方法是创建一个指向当前在 MAMP/ 中使用的 PHP 版本的符号链接MAMP Pro 安装:

      php.ini -> /Applications/MAMP/bin/php/php5.3.14/conf/php.ini
      

      这解决了问题。只需将 php 版本 php5.3.14 更改为您选择在 MAMP 中使用的任何 PHP 版本。

      正如@moderndegree 上面提到的,您可以选择在将来通过编辑您的 bash/zsh/etc 中的路径变量将其提供给终端:

      export PATH="/Applications/MAMP/bin/php/php5.3.14/bin:$PATH"
      

      【讨论】:

        【解决方案4】:

        问题是您可能遇到了不同的 php 安装。

        尝试以下方法:

        which php
        

        如果您得到的不是 /Applications/MAMP/bin/...,则需要更新您的环境以指向 MAMP 的安装。

        为此,您需要将以下内容添加到 .bash_profile(请更新路径以匹配您的设置):

        export PATH="/Applications/MAMP/bin/php/php5.3.6/bin:$PATH"
        

        使用以下命令重新加载 .bash_profile:

        source .bash_profile
        

        完成此操作后,您应该指向正确的 php 安装。再次尝试which php 进行确认。现在运行php -i | grep ini 以确认正在加载正确的php.ini 文件。正如 Seldaek 所说,相关线路是:

        Loaded Configuration File => ...
        Additional .ini files parsed => ...
        

        【讨论】:

          【解决方案5】:

          我记得,MAMP 使用配置模板。所以你应该编辑 php.ini 模板。每次重新启动 MAMP 时,都会从模板中重新生成实际的 php.ini。

          【讨论】:

            【解决方案6】:

            如果 php.ini 仍处于启用状态,则不能编辑正确的 php.ini。运行php -i | grep ini,查找所有已加载的ini文件。

            相关的行是这两行:

            Loaded Configuration File => ...
            Additional .ini files parsed => ...
            

            【讨论】:

            • 我说 /etc 所以我在那里添加了一个 php.ini 文件并重新启动了 mamp,然后它工作了!
            猜你喜欢
            • 2013-03-11
            • 2013-06-09
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2020-08-26
            • 1970-01-01
            • 2021-08-27
            • 2015-10-18
            相关资源
            最近更新 更多