如果前面三步你已经安装成功了,那么你才可以安装PHP,这里安装顺序很重要。下面来具有看下怎么安装PHP吧。
PHP安装
先安装libXpm-devel
不然PHP或报错: make: * [ext/gd/gd.lo] Error 1
安装:
[root@centos6 ~]# yum -y install libXpm-devel
找出文件位置:
rpm -ql libXpm-devel
应该是这个位置,记住它,后面安装PHP要配置,一般跟系统的位数有关 --with-xpm-dir=/usr/lib64
/usr/lib64/libXpm.so
前面这么多操作是不是很麻烦,还有一个简单方法:
\cp -frp /usr/lib64/libltdl.so* /usr/lib/
\cp -frp /usr/lib64/libXpm.so* /usr/lib/
安装PHP
[root@centos6 LAMP]# cd /usr/local/src
[root@centos6 LAMP]# tar -zxvf php-5.6.30.tar.gz
[root@centos6 LAMP]# cd ./php-5.6.30
[root@centos6 php-5.6.30]# ./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --with-mysql-sock=/tmp/mysql.sock --with-pdo-mysql=/usr/local/mysql --with-libxml-dir=/usr/local/libxml2 --with-png-dir=/usr/local/libpng --with-jpeg-dir=/usr/local/jpeg --with-freetype-dir=/usr/local/freetype --with-gd=/usr/local/gd2 --with-zlib-dir=/usr/local/zlib --with-mcrypt=/usr/local/libmcrypt --with-xpm-dir=/usr/lib64 --enable-soap --enable-mbstring=all --enable-sockets
如果编译过程出现:Don't know how to define struct flock on this system, set --enable-opcache=no,
解决方案:
vim /etc/ld.so.conf.d/local.conf # 编辑(新建)库文件
/usr/local/lib # 添加该行
:wq # 保存退出
ldconfig # 使之生效
再不行试着安装
yum groupinstall "Development tools"
[root@centos6 php-5.6.30]# make
[root@centos6 php-5.6.30]# make install
另附参数说明:
./configure \
--prefix=/usr/local/php
--with-config-file-path=/usr/local/php/etc //配置文件路径,指定php.ini位置
--with-apxs2=/usr/local/apache249/bin/apxs // apxs功能是使用mod_so中的//LoadModule指令,加载指定模块到apache,要求apache 要打开SO模块
--with-mysql=/usr/local/mysql //mysql安装目录,对mysql的支持
--with-mysqli=/usr/local/mysql/bin/mysql_config //mysqli文件目录,优化支持
--with-libxml-dir=/usr/local/libxml2 //打开libxml2库的支持
--with-png-dir=/usr/local/libpng //打开对png图片的支持
--with-jpeg-dir=/usr/local/jpeg //打开对jpeg图片的支持
--with-freetype-dir=/usr/local/freetype //打开对freetype字体库的支持
--with-gd=/usr/local/gd //打开gd库的支持
--with-zlib-dir=/usr/local/zlib //打开zlib库的支持
--with-mcrypt=/usr/local/libmcrypt //打开libmcrypt库的支持
--with-xpm-dir=/usr/lib64 //打开libXpm库的支持
--enable-soap
--enable-mbstring=all //多字节,字符串的支持
--enable-sockets //打开sockets 支持
复制配置文件
[root@localhost php-5.6.30]# cp php.ini-development /usr/local/php/etc/php.ini
测试 Apache 与 PHP的连通性,看 Apache 是否能解析 php 文件
vi /usr/local/apache2/etc/httpd.conf
在LoadModule模块中添加(如果存在请跳过):
写入一下这一行
AddType application/x-httpd-php .php .phtml.phps
(注意大小写)
*.phtml 为将 .phps 做为 PHP源文件进行语法高亮显示
重启 Apache 服务: /usr/local/apache2/bin/apachectl stop
/usr/local/apache2/bin/apachectl start
*Apache 无法启动,提示 cannotrestoresegmentprotafterreloc:Permissiondenied
错误,为 SELinux 问题,可关闭 SELinux 或者执行命令 chcon-ttexrel_shlib_t
/usr/local/apache2/modules/libphp5.so
验证
apache服务器的网站根目录为 /usr/local/apache2/htdocs/
vim /usr/local/apache2/htdocs/test.php
写入
<?php
phpinfo();
?>
:wq 保存退出
通过浏览器输入地址访问: 服务器ip地址 /test.php
date模块下可能会出现:
It is not safe to rely on the system’s timezon....
解决:
vim /usr/local/php/etc/php.ini
找到:
;date.timezone =
改成:
date.timezone = "Asia/Shanghai"
重启apache:
/usr/local/apache2/bin/apachectl stop
/usr/local/apache2/bin/apachectl start