下面安装PHP时数显很多问题,为了减少问题,直接安装先yum一下
yum -y install gcc pcre pcre-devel gcc-c++ autoconf libxml2 libxml2-devel zlib zlib-devel glibc libjpeg libjpeg-devel libpng libpng-devel glibc-devel glib2 glib2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel openssl openssl-devel openldap openldap-devel openldap-clients openldap-servers make cmake freetype-devel
1、下载
php官方下载地址: http://www.php.net/downloads.php 此处下载版本:php-5.6.7
cd /usr/local/src //进入目录
tar -zxvf php-5.6.7 //解压
cd php-5.6.7 //进入文件目录
# ./configure --prefix=/usr/local/php --with-config-file-path=/etc --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql --with-mysqli --with-libxml-dir --with-png-dir --with-jpeg-dir --with-freetype-dir --with-gd --with-zlib-dir --with-mcrypt --enable-soap --enable-mbstring=all --enable-sockets --enable-ftp --enable-zip --with-gettext
错误:configure: error: xml2-config not found. Please check your libxml2 installation
[root@XKWB3403 php-5.3.8]# rpm -qa |grep libxml2 libxml2-2.6.26-2.1.12 libxml2-python-2.6.26-2.1.12 重新安装libxml2和libxml2-devel包 yum install libxml2 yum install libxml2-devel -y
错误:mcrypt.h not found. Please reinstall libmcrypt
解决办法一 1、安装第三方yum源 yum install epel-release sh ./atomic 2、使用yum命令安装 yum install php-mcrypt libmcrypt libmcrypt-devel 解决办法二、 使用php mcrypt 前必须先安装Libmcrypt libmcrypt源码安装方法: cd /usr/local/src wget http://softlayer.dl.sourceforge.net/sourceforge/mcrypt/libmcrypt-2.5.8.tar.gz tar -zxvf libmcrypt-2.5.8.tar.gz cd /usr/local/src/libmcrypt-2.5.8 ./configure --prefix=/usr/local make make install
checking for BZip2 support… yes checking for BZip2 in default path… not found configure: error: Please reinstall the BZip2 distribution 解决方法: yum install bzip2-devel ******************************************************************************* checking for cURL support… yes checking if we should use cURL for url streams… no checking for cURL in default path… not found configure: error: Please reinstall the libcurl distribution – easy.h should be in/include/curl/ 解决方法: yum install curl-devel ******************************************************************************* checking for curl_multi_strerror in -lcurl… yes checking for QDBM support… no checking for GDBM support… no checking for NDBM support… no configure: error: DBA: Could not find necessary header file(s). 解决方法: yum install db4-devel ******************************************************************************* checking for fabsf… yes checking for floorf… yes configure: error: jpeglib.h not found. 解决方法: yum install libjpeg-devel ******************************************************************************* checking for fabsf… yes checking for floorf… yes checking for jpeg_read_header in -ljpeg… yes configure: error: png.h not found. 解决方法: yum install libpng-devel ******************************************************************************* checking for png_write_image in -lpng… yes If configure fails try –with-xpm-dir= configure: error: freetype.h not found. 解决方法:
yum -y install freetype-devel
Reconfigure your PHP with the following option. --with-xpm-dir=/usr ******************************************************************************* checking for png_write_image in -lpng… yes configure: error: libXpm.(a|so) not found. 解决方法: yum install libXpm-devel ******************************************************************************* checking for bind_textdomain_codeset in -lc… yes checking for GNU MP support… yes configure: error: Unable to locate gmp.h 解决方法: yum install gmp-devel ******************************************************************************* checking for utf8_mime2text signature… new checking for U8T_DECOMPOSE… configure: error: utf8_mime2text() has new signature, but U8T_CANONICAL is missing. This should not happen. Check config.log for additional information. 解决方法: yum install libc-client-devel ******************************************************************************* checking for LDAP support… yes, shared checking for LDAP Cyrus SASL support… yes configure: error: Cannot find ldap.h 解决方法: yum install openldap-devel ******************************************************************************* checking for mysql_set_character_set in -lmysqlclient… yes checking for mysql_stmt_next_result in -lmysqlclient… no checking for Oracle Database OCI8 support… no checking for unixODBC support… configure: error: ODBC header file ‘/usr/include/sqlext.h’ not found! 解决方法:yum install unixODBC-devel ******************************************************************************* checking for PostgreSQL support for PDO… yes, shared checking for pg_config… not found configure: error: Cannot find libpq-fe.h. Please specify correct PostgreSQL installation path 解决方法: yum install postgresql-devel ******************************************************************************* checking for sqlite 3 support for PDO… yes, shared checking for PDO includes… (cached) /usr/local/src/php-5.3.7/ext checking for sqlite3 files in default path… not found configure: error: Please reinstall the sqlite3 distribution 解决方法: yum install sqlite-devel ******************************************************************************* checking for utsname.domainname… yes checking for PSPELL support… yes configure: error: Cannot find pspell 解决方法: yum install aspell-devel ******************************************************************************* checking whether to enable UCD SNMP hack… yes checking for default_store.h… no checking for kstat_read in -lkstat… no checking for snmp_parse_oid in -lsnmp… no checking for init_snmp in -lsnmp… no configure: error: SNMP sanity check failed. Please check config.log for more information. 解决方法: yum install net-snmp-devel ******************************************************************************* checking whether to enable XMLWriter support… yes, shared checking for xml2-config path… (cached) /usr/bin/xml2-config checking whether libxml build works… (cached) yes checking for XSL support… yes, shared configure: error: xslt-config not found. Please reinstall the libxslt >= 1.1.0 distribution 解决方法: yum install libxslt-devel ******************************************************************************* configure: error: xml2-config not found. Please check your libxml2 installation. 解决方法: yum install libxml2-devel ******************************************************************************* checking for PCRE headers location… configure: error: Could not find pcre.h in /usr 解决方法: yum install pcre-devel ******************************************************************************* configure: error: Cannot find MySQL header files under yes. Note that the MySQL client library is not bundled anymore! 解决方法: yum install mysql-devel ******************************************************************************* checking for unixODBC support… configure: error: ODBC header file ‘/usr/include/sqlext.h’ not found! 解决方法: yum install unixODBC-devel ******************************************************************************* checking for pg_config… not found configure: error: Cannot find libpq-fe.h. Please specify correct PostgreSQL installation path 解决方法:yum install postgresql-devel ******************************************************************************* configure: error: Cannot find pspell 解决方法: yum install pspell-devel ******************************************************************************* configure: error: Could not find net-snmp-config binary. Please check your net-snmp installation. 解决方法: yum install net-snmp-devel ******************************************************************************* configure: error: xslt-config not found. Please reinstall the libxslt >= 1.1.0 distribution 解决方法: yum install libxslt-devel
make && make install
echo $?
#设置环境变量 vi /etc/profile #在末尾添加以下内容 PATH=/usr/local/php/bin:$PATH export PATH #让刚才的修改生效 source /etc/profile
#复制配置文件到etc目录 cp /usr/src/php-5.6.7/php.ini-production /etc/php.ini
#修改默认时区
vim /etc/php.ini
date.timezone =Asia/Shanghai
此处要做以说明,由于前面安装Apache2.4时候没有指定配置文件,所以/etc/没有http目录,因此下文中的方法需要改进:
#让httpd支持php解析 vim /etc/httpd/httpd.conf #找到这行 AddType application/x-gzip .gz .tgz #添加这一句 AddType application/x-httpd-php .php #找到以下这句,在后面添加index.php DirectoryIndex index.html DirectoryIndex index.html index.php
改进方法:
mkdir /etc/httpd/ //创建httpd目录 cd /etc/httpd ln -s /usr/local/apache2/conf/httpd.conf . //创建软链接文件,方便修改
vim /etc/httpd/httpd.conf
#找到这行
AddType application/x-gzip .gz .tgz
#添加这一句
AddType application/x-httpd-php .php
#找到以下这句,在后面添加index.php
DirectoryIndex index.html
DirectoryIndex index.html index.php
至此PHP安装成功
测试PHP
touch /usr/local/apache2/htdocs/test.php vim /usr/local/apache2/htdocs/test.php
写入 <?php phpinfo(); ?>
浏览器输入 "IP"/test.php 出现以下内容即为成功