PHP 5 安装 :
PHP官网: www.php.net
当前主流版本为5.6/7.1
- 按照约定,切换到下载目录,下载PHP 5.6
wget http://cn2.php.net/distributions/php-5.6.30.tar.gz
tar zxvf php-5.6.30.tar.gz
cd php-5.6.30
- 编译&安装
./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache2.4/bin/apxs --with-config-file-path=/usr/local/php/etc --with-mysql=/usr/local/mysql --with-pdo-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --with-libxml-dir --with-gd --with-jpeg-dir --with-png-dir --with-freetype-dir --with-iconv-dir --with-zlib-dir --with-bz2 --with-openssl --with-mcrypt --enable-soap --enable-gd-native-ttf --enable-mbstring --enable-sockets --enable-exif
详解:
- --prefix=/usr/local/php 指定安装目录
- --with-apxs2=/usr/local/apache2.4/bin/apxs 自动配置扩展的模块
- --with-config-file-path=/usr/local/php/etc PHP 配置文件路径
- --with-mysql=/usr/local/mysql --with-pdo-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --with-libxml-dir --with-gd 指定3种不同的mysql库
- --with-jpeg-dir --with-png-dir --with-freetype-dir --with-iconv-dir --with-zlib-dir --with-bz2 --with-openssl --with-mcrypt --enable-soap --enable-gd-native-ttf --enable-mbstring --enable-sockets --enable-exif 以上就是PHP需要的模块
开始编译,各种错误:咱们慢慢搞!
错误:configure: error: xml2-config not found. Please check your libxml2 installation.
解决办法:
yum install -y libxml2-devel
错误:configure: error: Cannot find OpenSSL’s <evp.h>
解决办法:
yum install -y openssl openssl-devel
错误:checking for BZip2 in default path… not found configure: error: Please reinstall the BZip2 distribution
解决办法:
yum install -y bzip2 bzip2-devel
错误:configure: error: png.h not found.
解决办法:
yum install -y libpng libpng-devel
错误:configure: error: jpeg.h not found.
解决办法:
yum install -y libjpeg libjpeg-devel
错误:configure: error: png.h not found.
解决办法:
yum install -y libpng libpng-devel
错误:configure: error: freetype.h not found.
解决办法:
yum install -y freetype freetype-devel
错误:configure: error: mcrypt.h not found. Please reinstall libmcrypt.
解决办法:
yum install -y epel-release yum install -y libmcrypt-devel
最后当我们看到Thank you for using PHP. 就大功告成了,一般安装PHP就会有这些问题,其实这些问题几乎在网上一查询一个准!
echo $? //查看结果是否正确!
make && make install
echo $?
- 查看配置目录+文件
ls /usr/local/php
ls /usr/local/php/bin //核心的配置文件
/usr/local/php/bin/php -m //查看加载的模块
/usr/local/php/bin/php -i | less
查看php的详细信息!我们看到没有加载任何配置文件!我们需要配置如下:↓
cp php.ini-production /usr/local/php/etc/php.ini
拷贝模板到配置目录;
- 当我们拷贝模板的时候会发现有两个版本,php.ini-development php.ini-production;一个是生产环境用的,一个是开发所用!我们再次查看就会有了配置文件!
当我们配置完成后,考虑一下 PHP是不是也需要像配置mysql或者apache 一样手动启动呢? 通过如下答案就晓得了:
[root@zhdy-02 php-5.6.30]# ls -l /usr/local/apache2.4/modules/libphp5.so
-rwxr-xr-x. 1 root root 37752152 Jul 27 21:41 /usr/local/apache2.4/modules/libphp5.so
再看一下Apache的配置文件:
[root@zhdy-02 php-5.6.30]# vim /usr/local/apache2.4/conf/httpd.conf
搜索 /php5.so
我们发现自动增加了一行,php的模块。如果不想让其加载php的模块,在最前面加上 # 即可!
扩展:
php中mysql,mysqli,mysqlnd,pdo到底是什么: http://blog.csdn.net/u013785951/article/details/60876816