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包需加此参数

安装

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文件夹下创建一个.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。

猜你喜欢

转载自www.cnblogs.com/QicongLiang/p/9815260.html
今日推荐