一、简介 PHP已经走过了20年的历史,PHP7对于上一版本的PHP5.*,在性能方面有了跨越式的提升,当然也有一些新增的特性和改变,具体大家可以参考网上更为详细的相关资料文档。
二、系统环境 系统平台:CentOS release 6.8 (Final) Apache版本:httpd-2.4.6.tar.gz MySQL 版本:mysql-5.5.53.tar.gz PHP版本:php-7.1.0.tar.gz 三、安装前准备 1、库文件准备
在安装PHP之前,应先安装PHP需要的最新版本库文件,例如libxml2、libmcrypt以及GD2库等文件。安装GD2库是为了让PHP支持GIF、PNG和JPEG等图片格式,所以在安装GD2库之前还要先安装最新的zlib、libpng、freetype和jpegsrc等库文件。而且中间还会穿插安装一些软件,读者可以按照本节提供的顺序安装。 autoconf-2.69.tar.gz freetype-2.3.5.tar.gz libgd-2.1.0.tar.gz jpegsrc.v7.tar.gz libmcrypt-2.5.8.tar.gz libpng-1.2.31.tar.gz libxml2-2.7.8.tar.gz zlib-1.2.7.tar.gz apr-1.5.2.tar.gz apr-util-1.3.8.tar.gz pcre-8.32.tar.gz curl-7.52.1.tar.gz 2、安装系统所需要的相关库文件
如果没有安装则用 yum
# yum -y install make gcc gcc-c++ libaio
3、卸载默认的低版本环境 目前发行的Linux操作系统,如果选择默认全部安装,就已经安装好了LAMP环境,但是相对版本都比较低。
a. 卸载Apache # rpm -qa |grep httpd 说明:检查是否已经安装了httpd软件包
# rpm -e httpd-2.2.3-63.el5.centos --nodeps 说明:卸载软件包, --nodeps 如果有依赖关系,也强制卸载 # rm -rf /etc/httpd 说明:到原来的apache安装目录下,将其所有的安装目录和文件都删掉 b. 卸载Mysql # rpm -qa | grep mysql 说明:卸载mysql c. 卸载Php # rpm -qa | grep php 说明:卸载PHP 4、关闭selinux,清空防火墙规则 5、使用ssh shell将windows下的13个源码包上传到/usr/local/src 目录下 6、将*.tar.gz源码包逐一解压
四、安装LAMP 1、安装libxml2 # cd /usr/local/src/libxml2-2.7.8 # ./configure --prefix=/usr/local/libxml2
# make && make install 2、安装libmcrypt # cd /usr/local/src/libmcrypt-2.5.7 # ./configure --prefix=/usr/local/libmcrypt
# make && make install 3、安装zlib # cd /usr/local/src/zlib-1.2.7 # ./configure --prefix=/usr/local/zlib # make && make install 4、安装libpng # cd /usr/local/src/libpng-1.2.10 # ./configure --prefix=/usr/local/libpng
# make && make install 5、安装jpeg7 这个软件包安装有些特殊,其它软件包安装时如果目录不存在,会自动创建,但这个软件包安装时需要手动创建。 # mkdir /usr/local/jpeg7
# mkdir /usr/local/jpeg7/bin
# mkdir /usr/local/jpeg7/lib
# mkdir /usr/local/jpeg7/include
# mkdir -p /usr/local/jpeg7/man/man1
# cd /usr/local/src/jpeg-7 # ./configure --prefix=/usr/local/jpeg7/ --enable-shared --enable-static
# make && make install 6、安装freetype # cd /usr/local/src/freetype-2.3.5 # ./configure --prefix=/usr/local/freetype # make # make install 7、安装autoconf # cd /usr/local/src/autoconf-2.69 # ./configure # make && make install 8、安装GD库 # cd /usr/local/src/libgd-2.1.0 # ./configure -prefix=/usr/local/gd2 \ --enable-m4_pattern_allow \ --with-jpeg=/usr/local/jpeg7 \ --with-png=/usr/local/libpng/ \ --with-zlib=/usr/local/zlib/ \ --with-freetype=/usr/local/freetype # make #make install 9、安装xpm # yum -y install libXpm-devel.x86_64 10、安装apr # cd apr-1.5.2
# ./configure --prefix=/usr/local/apr 如果报错: config.status: executing libtool commands
rm: cannot remove `libtoolT': No such file or directory
config.status: executing default commands
# yum -y install libtool
11、安装apr-util
# cd apr-util-1.3.8
# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
# make
# make install
12、安装pcre
# cd pcre-8.32
# ./configure --prefix=/usr/local/pcre
13、安装curl
# cd curl-7.52.1
# ./configure --prefix=/usr/local/curl
# make
# make install
14、安装Apache # cd /usr/local/src/httpd-2.4.6
# ./configure --prefix=/usr/local/apache2 \
# --with-pcre=/usr/local/pcre \
# --with-apr=/usr/local/apr \
# --with-apr-util=/usr/local/apr-util \
# --with-z=/usr/local/zlib
# --enable-so \
# --enable-expires=shared \
# --enable-rewrite=shared \
# --enable-static-support
15、配置Apache
a.设置apache 根目录:ServerRoot "/usr/local/apache2" 域名设置:ServerName 127.0.0.0 注:写服务器真实IP地址 b.修改所有文件的权限 <Directory /> Options FollowSymLinks
AllowOverride All
Order deny,allow
Allow from all
Satisfy all
</Directory>
<Directory "/usr/local/apache2/cgi-bin">
AllowOverride None
Options None
Order allow,deny
Allow from all
</Directory>
c.配置根目录 DocumentRoot "/usr/local/apache2/htdocs" d.配置根目录的权限 <Directory "/usr/local/apache2/htdocs"> Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
Require all granted
</Directory>
e.配置欢迎页(首页) <IfModule dir_module>
DirectoryIndex index.php index.html
</IfModule>
f.加载PHP模块和开启其他扩展 AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz
Addtype application/x-httpd-php .php .phtml
16、安装MySQL
MySQL自5.5版本以后,就开始使用cmake编译工具了。
tar.gz形式源码编译安装mysql时间要很久,但是用户可以自定义目录结构。
a. 安装系统所需要的库文件及MySQL所依赖的库文件
# yum -y install gcc gcc-c++ gcc-g77 autoconf automake zlib* fiex* libxml* ncurses-devel libmcrypt* libtool-ltdl-devel*
b. 安装cmake
# wget http://www.cmake.org/files/v2.8/cmake-2.8.5.tar.gz
# yum -y install cmake
c. 编译安装MySQL 5.5.53
# /usr/sbin/groupadd mysql
# /usr/sbin/useradd -g mysql mysql
# tar -zxvf mysql-5.5.53.tar.gz
# cd mysql-5.5.53
# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
# -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \
# -DEXTRA_CHARSET=all \
#-DDEFAULT_CHARSET=utf8 \
#-DDEFAULT_COLLATION=utf8_general_ci \
#-DWITH_MYISAM_STORAGE_ENGINE=1 \
#-DWITH_INNOBASE_STORAGE_ENGINE=1 \
#-DWITH_READLINE=1 \
#-DENABLED_LOCAL_INFILE=1 \
#-DMYSQL_DATADIR=/usr/local/mysql/data \
#-DWITH_SSL=yes -DMYSQL_USER=mysql
d. 执行安装,需要等待较长时间
# make
# make install
e. 改变目录拥有者和所属组
# chmod +w /usr/local/mysql
# chown -R mysql:mysql /usr/local/mysql
# ln -s /usr/local/mysql/lib/libmysqlclient.so.16 /usr/lib/libmysqlclient.so.16
# cd support-files
# cp my-large.cnf /etc/my.cnf #复制默认配置文件,适合大型服务器
# cp mysql.server /etc/init.d/mysqld # 复制启动文件
17、配置并启动MySQL
# vi /etc/my.cnf
a.在[mysqld]下面添加
socket = /usr/local/mysql/mysql.sock
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
log-error = /usr/local/mysql/mysql_error.log
pid-file = /usr/local/mysql/data/mysql.pid
tmpdir = /tmp
user = mysql
b.在[client]下面添加
socket = /usr/local/mysql/mysql.sock
c.初始化mysql
# /usr/local/mysql/scripts/mysql_install_db \
# --basedir=/usr/local/mysql \
# --datadir=/usr/local/mysql/data \
# --user=mysql
d.将mysql加入服务,开机自启动
# cd /usr/local/mysql/bin
# cp -p /usr/local/mysql/bin/mysqld /etc/init.d/mysqld
# chmod +x /etc/init.d/mysqld
# vi /etc/init.d/mysqld (查找并修改以下内容)
basedir=/usr/local/mysql
datadir=/var/mysql/data
# chkconfig --add mysqld
# chkconfig --level 345 mysqld on
e.为MySQL配置环境变量,方便以后的使用
# export PATH=/usr/local/mysql/bin:$PATH
f.启动 mysql
# service mysqld start
g.为MySQL设置密码
# mysql_secure_installation
18、安装PHP
# cd /usr/local/src/php-7.1.0 # ./configure --prefix=/usr/local/php \ # --with-mysqli=/usr/local/mysql/bin/mysql_config \ # --with-apxs2=/usr/local/apache2/bin/apxs \ # --with-libxml-dir=/usr/local/libxml2/ \ # --enable-sockets --enable-xml \ # --with-curl=/usr/local/curl \ # --with-pdo-mysql=/usr/local/mysql/ \ # --with-jpeg-dir=/usr/local/jpeg7/ \ # --with-png-dir=/usr/local/libpng \ # --with-gd=/usr/local/gd2/ \ # --with-freetype-dir=/usr/local/freetype/ \ # --with-xpm-dir=/usr/include/X11/xpm.h # make # make install 19、创建配置PHP文件 # cp -p php.ini-development /usr/local/php/etc/php.ini #复制配置文件,适合开发者
五、测试 1、编写info.php文件,查看php配置详细 # vi /usr/local/apache2/htdocs/info.php <?php phpinfo();?>
|