升级big sur后,apache工作异常,重装apache报Address already in use

升级了big sur,一直正常的apache不能正常工作了。

经过各种网上的搜索,发现apache里的httpd.conf配置,只能加载默认的php模块,

#LoadModule php7_module libexec/apache2/libphp7.so

只有这项可用。

而默认的php版本,又始终装不上我需要的mssql的连接扩展,而自己用brew安装的php版本,可用perl一键安装这两个扩展,十分方便,之前在升级mac os之前,在catlina下,是可以引用自己通过brew安装的php版本的,mssql相关的扩展也都可以正常使用。

升级mac os11后,在big sur下,apache一旦加载自己安装的php即报错:

No code signing authority for module at /usr/local/opt/php/lib/httpd/modules/libphp7.so

只能使用mac os系统自带的php

于是决定尝试,放弃使用系统自带的apache,重新使用brew安装一个apache,希望可以加载自己安装的php

使用brew install httpd安装后,使用之前的apache配置文件进行了更改,出现了新的问题。



(48)Address already in use: AH00072: make_sock: could not bind to address 0.0.0.0:8008

no listening sockets available, shutting down



使用sudo lsof -i:8008查看了8008端口的占用情况,没有任何占用。

放弃apache,使用了ngnix,安装,配置后,laravel的所有api均报404错误,添加了网上的代码在配置文件中依旧无效。

try_files $uri $uri/ /index.php$is_args$query_string;

这句对于laravel的api调用显示404问题,并没有作用。

无奈,重新鼓捣apache,通过谷歌,百度到了同样问题的人。

macos - Mac OS Big Sur - Homebrew Apache - 48)Address already in use: AH00072: make_sock: could not bind to address 0.0.0.0:8080 - Stack Overflow



搜寻下面的回答,有一条是这么说的:



配置文件里,使用的还是过去的listen写法,直接listen了端口号

但是恰恰是这里出了问题,之前的mac配置文件,已经被我改成了

<IfDefine SERVER_APP_HAS_DEFAULT_PORTS>

    Listen 8008

</IfDefine>

<IfDefine !SERVER_APP_HAS_DEFAULT_PORTS>

    Listen 8008

</IfDefine>



但是这次忘了,按照回答,把新配置文件改成

Listen 127.0.0.1:8008

重启一下

brew services restart httpd

果然就正常了,解决了更新big sur后,折腾了两天的问题。

正常的工作又恢复了秩序。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容