gpt4 book ai didi

PHP 扩展在命令行 (cli) 中加载但未由 apache 加载

转载 作者:可可西里 更新时间:2023-11-01 00:24:30 24 4
gpt4 key购买 nike

最终更新。

问题已解决。

我解决问题的方法是按照以下链接的说明完全从源代码重新安装 Apache 和 PHP。

http://dan.drydog.com/apache2php.html

然后按照以下说明直接将扩展构建到 PHP 中来进行扩展下面的链接。

唯一的问题是二进制文件都只在特定路径中,我认为这是一个容易解决的问题。

谢谢大家,这是我在 Stackoverflow 中的第一篇文章,我花了一整天的时间来制作我的第一个 php 扩展。虽然有点难,但是我喜欢! :D

原始问题

我正尝试按照以下链接的说明构建一个 php 扩展:

http://docstore.mik.ua/orelly/webprog/php/ch14_03.htm

我使用以下步骤将“rot13”的扩展构建到 php 中

./buildconf
./configure --enable-rot13
make
sudo make install

然后我通过命令行 php 测试了扩展。输出与上面的文章完全一样。

我想在我将扩展构建到 php 本身之后,我不需要关心 php.ini 文件。然后我尝试在浏览器中测试扩展,我发现 phpinfo() 页面没有显示任何关于新扩展的信息,而 php -m 命令显示我的扩展已加载。我检查了apache2的日志,没有错误。

我在谷歌上搜索了将近一天,但一无所获。一些线程在 stackoverflow 中类似,但没有真正有效的解决方案。

我的系统是 Ubuntu 11.10 和 php 5.3.10 和 apache2.2.20。

有知道的 friend 请指教。谢谢!

更新:

我确实将 extension=rot13.so 放在/etc/php5/apache2/php.ini 路径下的 php.ini 文件中,但现在每当我重新启动 apache2 服务器时,我都会收到以下错误。

PHP Warning:  PHP Startup: rot13: Unable to initialize module
Module compiled with build ID=API20090626,TS,debug
PHP compiled with build ID=API20090626,NTS

这些选项需要在第 0 行的 Unknown 中匹配

任何人都知道导致此错误的原因吗?

顺便说一句,当我编译扩展时,我确实使用了 ./configure --enable-rot13 --with-php-config=/usr/local/bin/php-config 来确保它使用的配置文件PHP.

再次更新:

我发现网页中的 phpinfo() 具有不同版本的 php -i 我从命令行获取...这有多奇怪?我会尝试用谷歌搜索如何解决这个冲突。

最佳答案

在 Ubuntu 中,有 2 个 php.ini 文件,一个用于 CLI,一个用于 apache。

默认情况下,它们位于 /etc/php5/cli/php.ini/etc/php5/apache2/php.ini

在您的情况下,您还需要在 apache2 php.ini 文件中启用扩展。

关于PHP 扩展在命令行 (cli) 中加载但未由 apache 加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9766622/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com