免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3197 | 回复: 8
打印 上一主题 下一主题

[系统管理] 关于PHP旧版安装 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2014-07-24 15:51 |只看该作者 |倒序浏览
本帖最后由 ogusu 于 2014-07-24 16:21 编辑

系统:CentOS 6.3

原来的PHP是5.3.3,用的是yum来安装的,因为旧代码里的register_globals=On无法使用(原则上旧代码不做修改),只能删除,安装了PHP5.1.6,安装方法make install


参考资料后,安装步骤是:

$ cd /usr/local/src

$ wget http://www.openssl.org/source/openssl-0.9.8e.tar.gz
$ tar zxvf openssl-0.9.8e.tar.gz
$ cd openssl-0.9.8e
$ ./config --prefix=/usr/local shared
$ make
$ make install

-------------------------------------------------------------
$ cd /usr/local/src

$ wget http://museum.php.net/php5/php-5.1.6.tar.gz
$ tar zxvf php-5.1.6.tar.gz
$ cd php-5.1.6

$ ./configure --with-openssl=/usr/local/
$ make
$ make install
-------------------------------------------------------------

我用原来设置的php.ini存放于/etc/php.ini

问题一)打开info.php后,版本居然还是5.3.3

是不是libphp5.so的问题?我是从原来的xxx/apache那里拷贝到/etc/httpd/modules/下面的

问题二)mbstring.so 出现错误
在php.ini设置:
extension_dir = "/usr/local/src/php-5.1.6/ext/mbstring/modules/"
extension=mbstring.so

结果网页出现500错误:
PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/local/src/php-5.1.6/ext/mbstring/modules/mbstring.so' - /usr/local/src/php-5.1.6/ext/mbstring/modules/mbstring.so: undefined symbol: second_arg_force_ref in Unknown on line 0

PHP Fatal error:  Call to undefined function mb_convert_encoding()

请问,mbstring.so到底应该放在哪里?

问题三)是不是原来 ./configure的时候option写得不够完善,如果要解决这些问题,需要重新删除后再安装吗?



论坛徽章:
0
2 [报告]
发表于 2014-07-24 16:53 |只看该作者
问题一,一般将PHP编译成Apache的模块使用
  1. --with-apxs2=/usr/local/apache/bin/apxs
复制代码
,模块会自动生成,httpd的配置文件中启用即可。
问题二,我没看到你编译中启用mbstring这个功能,你这个模块是自己后来又编译的吗?一般用
  1. --enable-mbstring
复制代码
在编译中指定。
问题三,PHP据说只不要不删除之前的编译文件,可以不删除直接附加。不过我没试过,我只用过单独再编译一些PHP的模块后在extension加载即可,而不需要在重新编译PHP。
具体问题具体分析,我这些仅供参考。

论坛徽章:
0
3 [报告]
发表于 2014-07-25 09:15 |只看该作者
谢谢 bluezombiecn

我查到了用“phpize”可以追加模块,上述问题二中的PHP Warning消除了,

$ phpize
$ ./configure --enable-mbstring
$ make
$ make test
$ make install

但是 PHP Fatal error:  Call to undefined function mb_convert_encoding() 还是存在。



论坛徽章:
0
4 [报告]
发表于 2014-07-29 16:03 |只看该作者
你后面这个问题还是应该和mbstring有关,你查查看php.ini中这段,改成开启试试。
  1. mbstring.encoding_translation = On|Off
复制代码

论坛徽章:
0
5 [报告]
发表于 2014-07-30 13:44 |只看该作者
回复 4# bluezombiecn


我删除了,PHP重新安装了。结果phpinfo.php那个页面上还是出来的是5.3.3,而我在linux里“php -v”确认出来的是5.1.6

我查看了php.ini,只有一个,而且php-config也是5.1.6。

PHP安装时执行的是:
./configure --prefix=/usr/local/php
--with-config-file-path=/usr/local/php/etc
--with-config-file-scan-dir=/usr/local/php/etc/conf.d
--with-apxs2=/usr/local/apache2/bin/apxs
--with-openssl
--with-pear
--with-iconv
--enable-mbstring
--(省略)


到底这个版本是从哪个文件整出来的?


   

论坛徽章:
0
6 [报告]
发表于 2014-07-30 13:48 |只看该作者
重新安装了PHP5.1.6,里面虽然自带mbstring,但是却没有产生mbstring.so,所以又安装了mbstring

问题又来了,我用php -m检查了php的模块,里面的确存在mbstring,但是make test时,一上来就出错

Warning: Module 'mbstring' already loaded in Unknown on line 0

也就是说没有加载成功。

这是怎么一回事呢?

论坛徽章:
0
7 [报告]
发表于 2014-08-01 17:10 |只看该作者
如果你编译时有--enable-mbstring,不需要再安装mbstring了。
给你一个我常用的编译参数
  1. ./configure --prefix=/usr/local/php  --with-openssl  --enable-mbstring --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml  --enable-sockets --with-apxs2=/usr/local/apache/bin/apxs --with-mcrypt  --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d --with-bz2  
复制代码
--enable-maintainer-zts这个选项是针对httpd的event和work模型,不是的话,不需要。
--with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config,这是针对mysql,没有也不需要

论坛徽章:
0
8 [报告]
发表于 2014-08-04 14:03 |只看该作者
谢谢bluezombiecn热心帮助,可能原来的系统里有点乱,手动删除了几次,安装了几次,现在只剩一个问题,就是pgsql模块了。因为现存的问题和主题不相关,所以重新开贴。

再次谢谢bluezombiecn

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
9 [报告]
发表于 2014-08-05 17:31 |只看该作者
肯能php.ini配置文件的问题,默认的情况下,yum安装后的php.ini在/etc目录,但编译安装的在/usr/local/lib/下。
或者你whereis php看一下,那个版本的php程序在前面,$PATH搜索的时候是有前后的,默认是使用先找到的。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP