以下是快速概述:
我刚刚完成编译PHP 5.3.5并尝试编译“--with”许多不同的扩展。我需要的扩展包括 mbstring 和 intl 。我可以手动 phpize,configure,make,make install 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 ... make,make install
我将 php.ini-production 用于我的 php.ini 配置,我将Apache配置为使用 php-cgi 进行特定操作域名,这也很好。
快点:
<?php phpinfo() ?>
显示我实际上正在运行较新版本的PHP。但是,“ ./ configure ... ”行中指定的扩展名不会显示在PHP信息页的任何位置。
经过一些侦察后,我发现我可以在PHP源文件夹中的单个扩展上运行 phpize ,然后编译特定模块的构建并将其安装在我的PHP扩展目录中。添加后:
extension=MY_EXT
在我的php.ini中,扩展程序显示在我的 phpinfo()页面上。
那么有人可以解释为什么 - with-mbstring 似乎对我的编译没有影响吗?
我没有 intl 扩展名的编译问题,但是将 intl.so 文件移到我的PHP扩展目录并在我的php.ini中添加了一个扩展行没有效果。
答案 0 :(得分:0)
来自php.net,你试过吗
如果您的ICU已安装到 那么你可能是非标准目录 想要指定其位置 LD_LIBRARY_PATH环境变量 这样动态链接器就可以找到它:$ export LD_LIBRARY_PATH = / opt / icu / lib
否则,如果PHP和ICU是 安装到默认位置, 然后是附加选项
不需要`configure'。