Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/251.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
需要关于PHP扩展的解释吗_Php_Compilation_Php 5.3 - Fatal编程技术网

需要关于PHP扩展的解释吗

需要关于PHP扩展的解释吗,php,compilation,php-5.3,Php,Compilation,Php 5.3,下面是一个快速概述: 我刚刚完成了PHP5.3.5的编译,并尝试用“许多不同的扩展”来编译“-”。我需要的扩展包括mbstring和intl。我可以手动phpize、配置、制作、安装mbstring扩展,它似乎工作正常。但是,我无法对intl执行相同的操作 我的./configure行如下所示: ./configure --with-openssl --with-pcre-regex --enable-calendar --with-curl --enable-exif

下面是一个快速概述:

我刚刚完成了PHP5.3.5的编译,并尝试用“许多不同的扩展”来编译“-”。我需要的扩展包括mbstringintl。我可以手动phpize、配置、制作、安装mbstring扩展,它似乎工作正常。但是,我无法对intl执行相同的操作

我的./configure行如下所示:

./configure --with-openssl --with-pcre-regex --enable-calendar
            --with-curl --enable-exif --enable-ftp --with-gd
            --with-mhash --enable-mbstring --with-mysql --enable-zip
            --enable-intl --with-icu-dir=...
代码编译没有问题:/configure。。。制作、制作和安装

我在我的php.ini配置中使用了php.ini产品,并将Apache配置为对特定域使用php cgi,这也很好

快速回答:

<?php phpinfo() ?>
在我的php.ini中,扩展出现在我的phpinfo()页面上

那么,有人能解释一下为什么--with mbstring似乎对我的编译没有影响吗

我对intl扩展没有编译问题,但是将intl.so文件移动到我的PHP扩展目录并在我的PHP.ini中添加扩展行没有任何效果。

从,您尝试过吗

如果您的ICU安装到 非标准目录,然后您可以 要在中指定其位置吗 LD_库_路径环境变量 以便动态链接器可以找到它:$ 导出LD_LIBRARY_PATH=/opt/icu/lib

否则,如果PHP和ICU是 安装到其默认位置, 然后选择其他选项 `不需要“配置”


“谁能解释一下为什么
——用mbstring
似乎没有效果。”。你是说
--enable intl
?我打错了,实际上是想放“-enable-EXT_NAME”(如我的代码块中所示)。但是,将intl扩展放在一边,即使我使用“-enable mbstring”,也不会编译/安装/启用该扩展。直到我手动构建并“安装”它,我才获得支持并看到它已启用。我确实记得看到过此块,但现在我再次阅读它,我意识到这可能是问题所在。出于某种原因,当我浏览它之前,我认为它是指与编译相关的配置。我设置了LD_LIBRARY_PATH环境变量,然后编译了intl扩展名。成功了!这并不能回答为什么我不能在已经启用扩展的情况下构建php,但至少我知道一种让它工作的方法。
extension=MY_EXT