微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

PHP Linux安装

文章目录


可以有两种安装方式, 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 

以上包括MysqL、xml和mbstring等模块

源码编译安装

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文件

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 举报,一经查实,本站将立刻删除。

相关推荐