Mavericks 升级后出现 PHP 警告

Mavericks 升级后出现 PHP 警告

将我的 Mac 升级到 Mavericks 后,我遇到了一些小问题,其中大部分都已解决,但是当我尝试在命令行运行 PHP 脚本时,我没有收到这些警告...

PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php/extensions/no-debug-non-zts-20100525/yaml.so' - dlopen(/usr/lib/php/extensions/no-debug-non-zts-20100525/yaml.so, 9): image not found in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php/extensions/no-debug-non-zts-20100525/apc.so' - dlopen(/usr/lib/php/extensions/no-debug-non-zts-20100525/apc.so, 9): image not found in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php/extensions/no-debug-non-zts-20100525/intl.so' - dlopen(/usr/lib/php/extensions/no-debug-non-zts-20100525/intl.so, 9): image not found in Unknown on line 0

目录 /usr/lib/php/extensions/no-debug-non-zts-20100525/ 存在,但其中只有 xdebug.so 和 mcryt.so 文件。

我尝试使用安装 yaml 扩展pecl,但它说它已经安装。

如果我运行sudo php -a而不是php -a,其他错误就会消失。我需要在哪个文件夹上设置什么权限才能让非管理员帐户正常工作?

答案1

运行此命令:

diff /etc/php5/apache2/php.ini /etc/php5/cli/php.ini

或者

find /etc/* -name php.ini
diff /etc/.../apache2/php.ini /etc/.../cli/php.ini

也许存在一些差异,可以给你答案。

答案2

错误原因在于 PHP 版本冲突。您之前安装的 PHP 中一定有剩余的扩展。

您可以做的是ext-intl.so从旧版本的 php 中删除该文件。我所做的是将内容(可能只有extension='/usr/local/Cellar/php55/phpx/)复制到我的php.ini文件中,注释掉那些选项,然后删除文件ext-intl.so,解决了这个问题。

相关内容