![当我使用 /opt/local/lib 编译 PHP 时,为什么 Mac OS X 10.6 使用 /usr/lib 来启动 Apache?](https://linux22.com/image/1262521/%E5%BD%93%E6%88%91%E4%BD%BF%E7%94%A8%20%2Fopt%2Flocal%2Flib%20%E7%BC%96%E8%AF%91%20PHP%20%E6%97%B6%EF%BC%8C%E4%B8%BA%E4%BB%80%E4%B9%88%20Mac%20OS%20X%2010.6%20%E4%BD%BF%E7%94%A8%20%2Fusr%2Flib%20%E6%9D%A5%E5%90%AF%E5%8A%A8%20Apache%EF%BC%9F.png)
PHP 5.3.3 在 Mac OS X 10.6 上编译 -/usr/lib
尝试启动 Apache 时使用...而不是/opt/local/lib
在配置 PHP 时指定。
/usr/lib
为什么我在配置中指定不加载,但它却尝试加载?
httpd:/private/etc/apache2/httpd.conf 第 115 行语法错误:无法将 /usr/libexec/apache2/libphp5.so 加载到服务器:dlopen(/usr/libexec/apache2/libphp5.so, 10):未加载库:/opt/local/lib/libiconv.2.dylib\n 引用自:/usr/libexec/apache2/libphp5.so\n 原因:库版本不兼容:libphp5.so 需要版本 8.0.0 或更高版本,但 libiconv.2.dylib 提供版本 7.0.0
上面的错误消息指的是/opt/local/lib
当我运行时:
otool -LD /opt/local/lib/libiconv.2.dylib
信息:
/opt/local/lib/libiconv.2.dylib:/opt/local/lib/libiconv.2.dylib(兼容版本 8.0.0,当前版本 8.0.0)/usr/lib/libSystem.B.dylib(兼容版本 1.0.0,当前版本 125.0.0)
这表明版本与httpd
错误的版本不同。
我觉得我需要使用较新的库重新编译 Apache,但是错误消息对我来说仍然没有太大意义。
答案1
由于您有文件,/opt/local
我假设您正在使用麦金塔。在这种情况下,PHP 将在 MacPorts(在 中)中针对 Apache 进行编译/opt/local/bin
,您需要配置并启动那个,而不是 Apple 默认提供的那个。