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

XAMPP Apache won't start on port 81, unable to load dynamic library?

我 运行 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. I ran the command in the top answer (but obviously changed the dir path to mine), and it didn't work. I read the 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还是没有给我结果! =(

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