【问题标题】:Error in httpd.conf. Can't locate API module structure `php5_module'httpd.conf 中的错误。找不到 API 模块结构 `php5_module'
【发布时间】:2011-04-09 18:34:24
【问题描述】:

我最近安装了 php 编译器 phc。我开始使用 --enable-so 用于 Apache 和 --enable-embed 用于 PHP5 从源代码安装 LAMP(在其他选项中,这些选项与安装和以后的配置最相关)。

安装完成后,我意识到 phc 还不支持 PHP5.3,所以我将其卸载并安装了 PHP5.2。 phc 现在可以正常工作,命令行的 PHP 客户端应用程序也是如此。当我注释掉第 193 行(见下文)时,Apache 似乎也运行良好。它只是不解析 PHP。

httpd: Syntax error on line 193 of /etc/apache2/conf/httpd.conf: Can't locate API module structure `php5_module' in file /usr/local/lib/libphp5.so: /usr/local/lib/libphp5.so: undefined symbol: php5_module

当我从终端检查我的 PHP 版本时,我得到了预期的输出 (5.2):

[root@localhost conf]# php -v
PHP 5.2.14 (cli) (built: Sep  7 2010 22:50:25) 
Copyright (c) 1997-2010 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2010 Zend Technologies

我确保将 libphp5.so 文件从我构建 php5.2 的文件夹 (/usr/local/src/php-5.2.14) 移动到 /usr/local/lib。我还将 php.ini 移至 /usr/local/lib。

这里有什么我遗漏的吗?

【问题讨论】:

  • libphp5.so 不应该在 Apache 的模块文件夹中吗?
  • @NullUserException 嘿!我尝试将其复制到 /etc/apache2/modules(apache 的模块文件夹)并使用 chcon -t textrel_shlib_t '/etc/apache2/modules/libphp5.so' 更改安全设置并更改第 193 行以反映更改...将目录更改为新目录时出现相同的错误。

标签: php httpd.conf


【解决方案1】:

好的!

显然,当您配置 PHP 时,重要的是包含指定 wehre 的行以找到正确安装的 apxs:

--with-apxs2=/etc/apache2/bin/apxs

我这样做了,问题就消失了:)

【讨论】:

    猜你喜欢
    • 2020-12-03
    • 1970-01-01
    • 2017-05-16
    • 2012-07-13
    • 2018-12-30
    • 2019-06-27
    • 1970-01-01
    • 2022-08-03
    • 1970-01-01
    相关资源
    最近更新 更多