Centos安装PHP PS:LAMP环境时,为少出错误,先安装一下编译环境
下面安装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-developenldap-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
# rpm -qa |greplibxml2
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命令安装
yuminstallphp-mcryptlibmcryptlibmcrypt-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 checkingfor BZip2 in default path… not found configure: error: Please reinstall theBZip2 distribution
解决方法: yum installbzip2-devel
*******************************************************************************
checking for cURL support… yes checkingif 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 installcurl-devel
*******************************************************************************
checking for curl_multi_strerror in-lcurl… yes checking for QDBM support… no checking for GDBM support… nochecking for NDBM support… no configure: error: DBA: Could not find necessaryheader file(s).
解决方法: yum installdb4-devel
*******************************************************************************
checking for fabsf… yes checking forfloorf… yes configure: error: jpeglib.h not found.
解决方法: yum installlibjpeg-devel
*******************************************************************************
checking for fabsf… yes checking forfloorf… yes checking for jpeg_read_header in -ljpeg… yes configure: error:png.h not found.
解决方法: yum installlibpng-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 yourPHP with the following option. --with-xpm-dir=/usr
*******************************************************************************
checking for png_write_image in -lpng…yes configure: error: libXpm.(a|so) not found.
解决方法: yum installlibXpm-devel
*******************************************************************************
checking for bind_textdomain_codeset in-lc… yes checking for GNU MP support… yes configure: error: Unable to locategmp.h
解决方法: yum installgmp-devel
*******************************************************************************
checking for utf8_mime2text signature…new checking for U8T_DECOMPOSE… configure: error: utf8_mime2text() has newsignature, but U8T_CANONICAL is missing. This should not happen. Checkconfig.log for additional information.
解决方法: yum installlibc-client-devel
*******************************************************************************
checking for LDAP support… yes, sharedchecking for LDAP Cyrus SASL support… yes configure: error: Cannot findldap.h
解决方法: yum installopenldap-devel
*******************************************************************************
checking for mysql_set_character_set in-lmysqlclient… yes checking for mysql_stmt_next_result in -lmysqlclient… nochecking for Oracle Database OCI8 support… no checking for unixODBC support…configure: error: ODBC header file ‘/usr/include/sqlext.h’ not found!
解决方法:yum installunixODBC-devel
*******************************************************************************
checking for PostgreSQL support for PDO…yes, shared checking for pg_config… not found configure: error: Cannot findlibpq-fe.h. Please specify correct PostgreSQL installation path
解决方法: yum installpostgresql-devel
*******************************************************************************
checking for sqlite 3 support for PDO…yes, shared checking for PDO includes… (cached) /usr/local/src/php-5.3.7/extchecking for sqlite3 files in default path… not found configure: error:Please reinstall the sqlite3 distribution
解决方法: yum installsqlite-devel
*******************************************************************************
checking for utsname.domainname… yeschecking for PSPELL support… yes configure: error: Cannot find pspell
解决方法: yum installaspell-devel
*******************************************************************************
checking whether to enable UCD SNMP hack…yes checking for default_store.h… no
checking for kstat_read in -lkstat… nochecking for snmp_parse_oid in -lsnmp… no checking for init_snmp in -lsnmp…no configure: error: SNMP sanity check failed. Please check config.log formore information.
解决方法: yum installnet-snmp-devel
*******************************************************************************
checking whether to enable XMLWritersupport… yes, shared checking for xml2-config path… (cached)/usr/bin/xml2-config checking whether libxml build works… (cached) yeschecking for XSL support… yes, shared configure: error: xslt-config notfound. Please reinstall the libxslt >= 1.1.0 distribution
解决方法: yum installlibxslt-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 installpcre-devel
*******************************************************************************
configure: error: Cannot find MySQLheader files under yes. Note that the MySQL client library is not bundledanymore!
解决方法: yum installmysql-devel
*******************************************************************************
checking for unixODBC support… configure:error: ODBC header file ‘/usr/include/sqlext.h’ not found!
解决方法: yum installunixODBC-devel
*******************************************************************************
checking for pg_config… not foundconfigure: error: Cannot find libpq-fe.h. Please specify correct PostgreSQLinstallation path
解决方法:yum installpostgresql-devel
*******************************************************************************
configure: error: Cannot find pspell
解决方法: yum installpspell-devel
*******************************************************************************
configure: error: Could not findnet-snmp-config binary. Please check your net-snmp installation.
解决方法: yum installnet-snmp-devel
*******************************************************************************
configure: error: xslt-config not found.Please reinstall the libxslt >= 1.1.0 distribution
解决方法: yum installlibxslt-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 出现以下内容即为成功
页:
[1]