centos7.5环境下安装php-7.1.9
安装包请自行到官网下载
http://php.net/downloads.php
一:安装相关依赖包
yum -y install zlib-devel libxml2-devel libjpeg-devel libjpeg-turbo-devel libiconv-devel
yum -y install freetype-devel libpng-devel gd-devel libcurl-devel libxslt-devel
yum -y install libmcrypt-devel
yum -y install mhash
yum -y install mcrypt
yum -y install bzip2 bzip2-devel
yum install gcc bison bison-devel zlib-devel libmcrypt-devel mcrypt mhash-devel openssl-devel libxml2-devel libcurl-devel readline-devel libedit-devel
二:编译安装php
解压安装包
tar -xf php-7.1.9.tar.gz
cd php-7.1.9
编译
./configure \
--prefix=/usr/local/php7 \
--with-config-file-path=/usr/local/php7 \
--enable-inline-optimization \
--disable-debug \
--disable-rpath \
--enable-shared \
--enable-opcache \
--enable-fpm \
--with-fpm-user=nginx \
--with-fpm-group=nginx \
--with-mysql=mysqlnd \ #旧版本编译参数
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \
--with-gettext \
--enable-mbstring \
--with-iconv \
--with-mcrypt \
--with-mhash \
--with-openssl \
--enable-bcmath \
--enable-soap \
--with-libxml-dir \
--enable-pcntl \
--enable-shmop \
--enable-sysvmsg \
--enable-sysvsem \
--enable-sysvshm \
--enable-sockets \
--with-curl \
--with-zlib \
--enable-zip \
--with-bz2 \
--with-readline \
--without-sqlite3 \
--without-pdo-sqlite \
--with-pear \
--with-libdir=lib64 \ #如果提示找不到lib包需加此参数
./configure --prefix=/usr/local/php7 --with-config-file-path=/usr/local/php7 --enable-inline-optimization --disable-debug --disable-rpath --enable-shared --enable-opcache --enable-fpm --with-fpm-user=nginx --with-fpm-group=nginx --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-gettext --enable-mbstring --with-iconv --with-mcrypt --with-mhash --with-openssl --enable-bcmath --enable-soap --with-libxml-dir --enable-pcntl --enable-shmop --enable-sysvmsg --enable-sysvsem --enable-sysvshm --enable-sockets --with-curl --with-zlib --enable-zip --with-bz2 --with-readline --without-sqlite3 --without-pdo-sqlite --with-pear
安装
make && make install
配置PHP环境
复制配置文件
cp /tools/php-7.1.9/php.ini-development /etc/php.ini
php-fpm 服务
cp /usr/local/php7/etc/php-fpm.conf.default /usr/local/php7/etc/php-fpm.conf #fpm配置文件
cp /tools/php-7.1.9/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm #启动脚本
启动php-fpm
/etc/init.d/php-fpm start
遇到如下问题,该问题的主要原因是php-fpm的配置文件中的125行有一个配置,include=/usr/local/php7/etc/php-fpm.d/*.conf,但是其从是并未在php-fpm.d文件夹下找到以.conf结尾的文件,因此报错。
可进入到php-fpm.d,执行命令cp www.conf.default www.conf。
添加 PHP 命令到环境变量
vim /etc/profile
PATH=$PATH:$HOME/bin:/usr/local/php7/bin
export PATH
测试php是否安装成功
在nginx下新建一个虚拟主机 conf/conf.d/php.conf
server {
listen 80;
server_name blog.cong.org;
location / {
root html/blog;
index index.html index.htm;
}
location ~ .*\.(php|php5)?$ {
root html/blog;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fastcgi.conf;
}
}
在html/blog下编写测试网页
echo "<?php phpinfo();?>" > test_info.php
访问127.0.0.1:8080/test_info.php
出现如下页面则证明安装成功
测试php连接数据库是否成功
vim dbtest_info.php
<?php
$pdo = new PDO('mysql:host=127.0.0.1;dbname=mysql;port=3306','root','tqw961110') ;
if($pdo){
echo "mysql successful by cong";
}else{
echo mysql_error();
}
?>
访问127.0.0.1:8080/dbtest_info.php
显示如下页面则连接成功
在mysql-8.0系列中,身份认证采用caching_sha2_password的加密认证方式。
PHP:X DevAPI PHP扩展(mysql_xdevapi)支持 caching_sha2_password。
PHP:PDO_MySQL和ext / mysqli扩展不支持caching_sha2_password。此外,当与7.1.16之前的PHP版本和7.2.4之前的PHP 7.2一起使用时,default_authentication_plugin=caching_sha2_password 即使caching_sha2_password未使用它们也无法连接 。
在php7.1.16和php7.2.4版本前的php不支持caching_sha2_password的认证方式,即使mysql的用户密码用的是mysql_native_password的加密方式,也无法连接上mysql,这时候最直接的方法就是将mysql的默认认证方式修改成mysql_native_password。详细请见博客----centos7.5环境下安装mysql-8.0.12。