【发布时间】: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