Centos安装PHP PS:LAMP环境时,为少出错误,先安装一下编译环境
阅读原文时间:2023年07月11日阅读:1

下面安装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.]# rpm -qa |grep libxml2
libxml2-2.6.-2.1.
libxml2-python-2.6.-2.1.

重新安装libxml2和libxml2-devel包

yum install libxml2

yum install libxml2-devel -y

错误:mcrypt.h not found. Please reinstall libmcrypt

解决办法一
、安装第三方yum源
yum install epel-release
sh ./atomic
、使用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..tar.gz
cd /usr/local/src/libmcrypt-2.5.
./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 support for PDO… yes, shared checking for PDO includes… (cached) /usr/local/src/php-5.3./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. 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. 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./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              出现以下内容即为成功