由于要使用了laravel5.1,php要升级到5.5以上。具体环境是Aliyun Cent OS 7.0。
首先网上这类的文章非常多,每个人的升级目的,要升级的组件都不完全一样。最好的说明文档还是官方安装文档,如果php官网的安装失败,再去搜索相关问题。我最终靠的是官网上Apache 2.x on Unix systems这篇文档。
1.下载
http://php.net/downloads.php
1 wget http://cn2.php.net/get/php-5.5.33.tar.gz/from/this/mirror 2 #下载完改一下名字 3 mv mirror php-5.5.33.tar.gz 4 tar -zxf php-5.5.33.tar.gz php-5.5.33 5 cd php-5.5.33
2.编译安装
1 ./configure --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql
我在--with-apxs2=/usr/local/apache2/bin/apxs这一步出了问题,去掉这个参数即使安装也是不行,这个参数编译出libphp5.so并用在httpd.conf中,find / -name apxs2搜不到结果。我找了很久,发现是我的apache有问题,不知道为什么5.3的时候没有这个问题(不管了)。
yum install httpd-devel
虽然apxs2还是没有,但能找到apxs了:
1 find / -name apxs2 2 find / -name apxs 3 /usr/bin/apxs
接下来几步一点点来,比较耗时:
1 ./configure --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql 2 make 3 make install
得到类似结果为安装成功:
Installing shared extensions: /usr/local/lib/php/extensions/no-debug-non-zts-20121212/ ... ... ... Wrote PEAR system config file at: /usr/local/etc/pear.conf You may want to add: /usr/local/lib/php to your php.ini include_path /usr/local/src/php-5.5.33/build/shtool install -c ext/phar/phar.phar /usr/local/bin ln -s -f phar.phar /usr/local/bin/phar Installing PDO headers: /usr/local/include/php/ext/pdo/
3.配置
复制php.ini
#官网 cp php.ini-development /usr/local/lib/php.ini #我的环境 cp php.ini-development /usr/local/lib/php/php.ini
修改httpd.conf
find / -name httpd.conf vi /etc/httpd/conf/httpd.conf #加入这两句(310行左右) AddType application/x-httpd-php .php .php3 .phtml .inc AddType application/x-httpd-php-source .phps #可能是升级的原因,这一句我本来就有,没有要加(50行左右) LoadModule php5_module /usr/lib64/httpd/modules/libphp5.so
重启apache:
service httpd restart
测试一下:
php -v
新建一个phpinfo.php访问一下:
<?php echo phpinfo();
结果完美:
dreamingodd原创文章,如转载请注明出处。
时间: 2024-10-05 23:19:51