Centos安装PHP PS:LAMP环境时,为少出错误,先安装一下编译环境

时间:2023-02-07 12:49:54
下面安装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              出现以下内容即为成功

Centos安装PHP PS:LAMP环境时,为少出错误,先安装一下编译环境