文章目录
可以有两种安装方式, yum安装和源码安装, 当然也可以使用RPM安装。 这里仅介绍前两种。
yum方式安装
1.查看是否有PHP的可安装的软件包
方式是通过yum search命令,以
PHP5.4和PHP7.0为例,可以使用下面的命令:
yum search PHP54
yum search PHP70
如果已经安装,这一步下面的部分可以略去。
如果没有安装,可以通过epel源和remi源加入软件源
epel源:
rpm -Uvh http://mirrors.rit.edu/fedora/epel//7/x86_64/e/epel-release-7-9.noarch.rpm
remi源:
rpm -Uvh http://rpms.remirepo.net/enterprise/remi-release-7.rpm
安装yum-config-manager:
yum -y install yum-utils
更新系统当前软件版本
yum -y update
2. 安装
PHP5.4 安装命令:
yum -y install PHP
PHP7.0 安装命令:
yum-config-manager --enable remi-PHP70
yum -y install PHP PHP-opcache
PHP7.1 安装命令:
yum-config-manager --enable remi-PHP71
yum -y install PHP PHP-opcache
3. 添加模块
模块可以根据需要添加, 比如:
yum -y install PHP-MysqL PHP-gd PHP-ldap PHP-odbc PHP-pear PHP-xml PHP-xmlrpc PHP-mbstring PHP-soap curl
源码编译安装
1.下载源码包
PHP官方下载地址是:https://www.php.net/downloads.php
下载的时候发现美国的镜像比国内的还快,linux下载可以使用:
wget http://cn2.PHP.net/distributions/PHP-7.2.16.tar.gz
2.解压
tar -zxvf PHP-7.2.16.tar.gz
3. 安装依赖包
yum install -y libxml2 libxml2-devel openssl openssl-devel bzip2 bzip2-devel libcurl libcurl-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel gmp gmp-devel libmcrypt libmcrypt-devel readline readline-devel libxslt libxslt-devel
可以根据需要安装。
4. 编译配置
切换到解压后的目录:
cd PHP-7.2.16
执行下面的命名进行配置:
./configure \
--prefix=/usr/local/PHP \
--with-apxs2=/usr/local/apache2/bin/apxs \
--with-libxml-dir \
--with-MysqLi=MysqLnd \
--with-pdo-MysqL=MysqLnd \
--with-gd \
--enable-fpm \
--enable-MysqLnd \
--enable-embedded-MysqLi
注意,如果机器已经安装了 Apache服务器,比如安装位置在/usr/local/apache, 则可以通过with-apxs2选项指定apache。这样的话,PHP 编译安装的时候就会自动产生libPHP7.so的动态链接文件, 并将其放入apache的moudles目录并自动修改 apache的配置文件。
所以,如果是要安装Apache+PHP的话, 建议是先安装Apache。
如果不需要apache, 将上面的with-apxs2一行去掉即可。
5. 编译安装
make && make install
6. 环境变量配置
vi /etc/profile
加入以下一行:
export PATH=$PATH:/usr/local/PHP/bin
让配置生效:
source /etc/profile
7. 验证安装
PHP -version
PHP7安装MysqL扩展
PHP7已经弃用MysqL扩展改为MysqLi或者pdo_MysqL。所以如果想兼容PHP5的MysqL的相关数据库方法的话,就需要另行安装了。
一般不建议这样,但是想使用一些知名的CMS时,其是基于PHP5的, 会需要安装。
下载扩展源码包:
下载地址: http://git.php.net/?p=pecl/database/mysql.git;a=summary
下载后解压:
tar xzvf MysqL-230a828.tar.gz
cd MysqL-230a828/
使用PHPize初始化和MysqL扩展 ,这里PHP的安装目录是/user/local/PHP
/user/local/PHP/bin/PHPsize
./configure --with-PHP-config=/user/local/PHP/bin/PHP-config --with-MysqL=MysqLnd
编译安装:
make && make install
直接编辑PHP.ini文件,把MysqL.so拷贝到PHP.ini的extension_dir中,然后在php.ini中加入extension=mysql.so
重启PHP-fpm
service PHP7.1-fpm restart
编译配置参数
编译的配置参数比较多,下面列出多的和少的供参考
./configure \
--prefix=/usr/local/PHP \
--with-config-file-path=/usr/local/PHP/etc \
--enable-fpm \
--with-fpm-user=Nginx \
--with-fpm-group=Nginx \
--enable-inline-optimization \
--disable-debug \
--disable-rpath \
--enable-shared \
--enable-soap \
--with-libxml-dir \
--with-xmlrpc \
--with-openssl \
--with-mcrypt \
--with-mhash \
--with-pcre-regex \
--with-sqlite3 \
--with-zlib \
--enable-bcmath \
--with-iconv \
--with-bz2 \
--enable-calendar \
--with-curl \
--with-cdb \
--enable-dom \
--enable-exif \
--enable-fileinfo \
--enable-filter \
--with-pcre-dir \
--enable-ftp \
--with-gd \
--with-openssl-dir \
--with-jpeg-dir \
--with-png-dir \
--with-zlib-dir \
--with-freetype-dir \
--enable-gd-native-ttf \
--enable-gd-jis-conv \
--with-gettext \
--with-gmp \
--with-mhash \
--enable-json \
--enable-mbstring \
--enable-mbregex \
--enable-mbregex-backtrack \
--with-libmbfl \
--with-onig \
--enable-pdo \
--with-MysqLi=MysqLnd \
--with-pdo-MysqL=MysqLnd \
--with-zlib-dir \
--with-pdo-sqlite \
--with-readline \
--enable-session \
--enable-shmop \
--enable-simplexml \
--enable-sockets \
--enable-sysvmsg \
--enable-sysvsem \
--enable-sysvshm \
--enable-wddx \
--with-libxml-dir \
--with-xsl \
--enable-zip \
--enable-MysqLnd-compression-support \
--with-pear \
--enable-opcache
./configure --prefix=/usr/local/server/PHP \
--with-apxs2=/usr/local/apache/bin/apxs \
--with-config-file-path=/usr/local/server/PHP \
--with-pdo-MysqL
相关介绍
1.EPEL
EPEL (Extra Packages for Enterprise Linux)是基于Fedora的一个项目,为“红帽系”的操作系统提供额外的软件包,适用于RHEL、CentOS和Scientific Linux。
首先需要安装一个叫”epel-release”的软件包,这个软件包会自动配置yum的软件仓库。
2.PHP-fpm
PHP-FPM(FastCGI Process Manager:FastCGI进程管理器)是一个PHPFastCGI管理器
PHP5.3.3已经集成PHP-fpm了,不再是第三方的包。
PHP-FPM提供了更好的PHP进程管理方式,可以有效控制内存和进程、可以平滑重载PHP配置
在./configure的时候带 –enable-fpm参数即可开启PHP-FPM
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。