我刚刚做了一个php56的brew安装。然后想启用一些扩展,如php_pdo_mysql和php_mysqli,所以我去了我的php.ini文件并取消注释了相关的行,例如:extension=php_mysqli.so
但由于某些原因,我试图启动PHP我得到错误:
Warning: PHP Startup: Unable to load dynamic library '/usr/local/Cellar/php56/5.6.10/lib/php/extensions/no-debug-non-zts-20131226/php_pdo_mysql.so'
我的系统上没有这样的目录。我试图找到我的PHP扩展的正确位置,但找不到它。我相信我必须拥有它们,因为键入php -m
给出了我需要的所有zend模块的列表。我似乎有一个文件夹/usr/lib/php/extensions/no-debug-non-zts-20121212
,其中只有3个扩展名,但当我尝试用这个文件替换我的php-config文件的扩展目录部分时,调用phpinfo()仍然列出旧的丢失目录。任何有关如何让php访问这些缺失的扩展的帮助将不胜感激!
答案 0 :(得分:0)
如果我很好理解这个Github issue,您应该从opcache
中删除php.ini
引用(您将通过php -i | grep ini
找到它,并且它可能是在/usr/local/etc/php/5.6/php.ini
)。
我评论了这两行:
zend_extension=opcache.so
opcache.enable=0
要检索opcache
,brew rm php56 && brew install php56 --enable-opcache
应该完成这项工作! (虽然我不确定)