OSX: PHP Error localhost and unable to load dynamic library

六眼飞鱼酱① 提交于 2019-12-19 17:38:56

问题


How can i fix this php error?

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

I am on a mac/mavericks and I have made a mistake and did a sudo cp /private/etc/php.ini.default /private/etc/php.ini so now I get the error stated above when I run php -v


回答1:


Follow this as it worked for me...

The error coming for me was:

$ sudo php -v
# PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php/extensions/no-debug-non-zts-20121212/phalcon.so' - dlopen(/usr/lib/php/extensions/no-debug-non-zts-20121212/phalcon.so, 9): image not found in Unknown on line 0
# PHP 5.5.14 (cli) (built: Sep  9 2014 19:09:25) 
# Copyright (c) 1997-2014 The PHP Group
# Zend Engine v2.5.0, Copyright (c) 1998-2014 Zend Technologies

Run this as root:

$ locate phalcon.so
# /opt/local/lib/php55/extensions/no-debug-non-zts-20121212/phalcon.so

Run this also as root:

$ cp -rp /opt/local/lib/php55/extensions/no-debug-non-zts-20121212/phalcon.so /usr/lib/php/extensions/no-debug-non-zts-20121212/

Just edit the directories as they might differ for you.




回答2:


Originally, I followed these step-by-step guides to set up apache, php, mysql, etc and and get my localhost working:

  1. http://brianflove.com/2013/10/23/os-x-mavericks-and-apache/
  2. http://coolestguidesontheplanet.com/install-mcrypt-php-mac-osx-10-9-mavericks-development-server/

Then, I accidentally replaced my php.ini file and got the error stated above in the question. Actually, at first I got the mcrypt missing error.

So, after fixing all of these, I had few things left to do in the php.ini file:

  1. Declared mcrypt like this: extension=mcrypt.so

  2. Uncommented the extension_dir line and added: extension_dir = "/usr/lib/php/extensions/no-debug-non-zts-20100525/"

  3. I commented out the line: extension=php_pdo_mysql.dll

  4. Done a sudo apachectl restart

Finally, everything works as is expected.




回答3:


In the php.ini file, if you had a unique extensions folder as required in macOS Sierra, make sure the extensions directory read like:

extension=/usr/local/lib/php/extensions/mcrypt.so

It's easy to forget to add the first "/"



来源:https://stackoverflow.com/questions/22384764/osx-php-error-localhost-and-unable-to-load-dynamic-library

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!