XAMPP Apache 无法在端口 81 上启动,无法加载动态库?
XAMPP Apache won't start on port 81, unable to load dynamic library?
- 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. 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
扩展名。我无法弄清楚那个问题。
- 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. 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
扩展名。我无法弄清楚那个问题。