我正在尝试在OpenBSD 5.6机器上使用Apache 1.3(apache-httpd-openbsd(,PHP 5.5和MySQL配置服务器。
当我尝试将PHP模块加载到Apache中时,会出现此问题。我在我的httpd.conf文件中添加了以下行:
LoadModule php5_module /usr/local/lib/php-5.5/libphp5.so
问题是当我尝试使用
apachectl start
我收到一堆这样的错误:
/usr/local/sbin/httpd:/usr/local/lib/php-5.5/libphp5.se: undefined symbol 'apr_bucket_eos_create'
似乎 PHP 库引用了 Apache 中的 APR 方法,这些方法应该包含在我拥有的 Apache 发行版中。我怎样才能帮助PHP找到这些方法并能够在我的服务器上运行?
我找到了问题和解决方案。
在进一步调查我的配置后,我注意到我安装了 Apache 2 版本的 PHP(php-5.5.14p0-ap2(,而不是正确的 1.x 版本(php-5.5.14p0(。Apache的1.x版本中的APR在其方法签名中使用"ap_"而不是"apr_",这是问题的原因。