当我使用 /opt/local/lib 编译 PHP 时,为什么 Mac OS X 10.6 使用 /usr/lib 来启动 Apache?

当我使用 /opt/local/lib 编译 PHP 时,为什么 Mac OS X 10.6 使用 /usr/lib 来启动 Apache?

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 默认提供的那个。

相关内容