XAMPP Apache无法在端口81上启动,无法加载动态库?

时间:2016-01-08 16:37:49

标签: php macos apache pdo xampp

  • XAMPP 5.6.3-0
  • Mac Yosemite 10.10.5

我跑了sudo lsof -nP -iTCP:81并发现Dropbox首先阻止它,所以我取消了它(从不使用它)。现在,当我运行该命令时,它是空的。

如果我运行sudo lsof -nP -iTCP:80,我会:

httpd       75    root    4u  IPv6 0xaac1841fb411203d      0t0  TCP *:80 (LISTEN)
httpd      532    _www    4u  IPv6 0xaac1841fb411203d      0t0  TCP *:80 (LISTEN)

我认为这是可以的,因为它位于不同的端口,对吧?

如果我查看/Applications/XAMPP/logs内的error_log,ssl_request_log和access_log,那么两个月前就没有任何记录。

如果我查看php_error_log内部,我会看到:

[08-Jan-2016 16:13:43 UTC] PHP Warning:  PHP Startup: Unable to load dynamic library '/Applications/XAMPP/xamppfiles/lib/php/extensions/no-debug-non-zts-20131226/php_pdo_mysql.dll' - dlopen(/Applications/XAMPP/xamppfiles/lib/php/extensions/no-debug-non-zts-20131226/php_pdo_mysql.dll, 9): image not found in Unknown on line 0

我在this question中发现了类似的问题。我在最顶层的答案中运行了命令(但显然改变了我的dir路径),但它没有用。我看了他附加的forum with the link,有人说在Mac上DYLD_LIBRARY_PATH而不是LD_LIBRARY_PATH,所以我也试过了,但它仍然不起作用。我已经多次尝试重启我的电脑和osx-manager。

如果我查看/Applications/XAMPP/xamppfiles/lib/php/extensions/no-debug-non-zts-20131226/目录,那里就没有php_pdo_mysql.dll。它应该在那里,还是它试图在那里加载库,它不起作用?

每次尝试启动时都会出现动态库错误,所以我猜这是问题所在,但我不确定如何修复它。

为清楚起见,我在httpd.conf文件中有这些行:

Listen 81
ServerName localhost:81

在我的php.ini文件中,我将extension=php_pdo_mysql.dll行取消注释,并且它是唯一未注释的扩展名。它取决于另一个扩展吗?我迷路了。

更新

$ . /Applications/XAMPP/xamppfiles/xampp stopapache
$ XAMPP: Stopping Apache...not running

$ . /Applications/XAMPP/xamppfiles/xampp startapache
$ XAMPP: Starting Apache...fail.
$ XAMPP:  Another web server is already running.

但是运行lsof -nP -i :81仍然没有给我带来任何结果! =(

1 个答案:

答案 0 :(得分:0)

好吧,我不得不关闭在端口80上运行的Apache服务器才能工作。我认为我不必这样做,因为我已将其配置为在端口81上运行。我唯一猜测为什么会发生这种情况是我在端口80上配置它,启动它,然后在关闭它之前将配置更改为81下。我还必须评论php_pdo_mysql扩展名。我无法弄清楚这个问题。