Centos,redhat利用yum源安装php7.0

Centos安装php7.*及与mysql连接相关

步骤

1,添加php7.*源

#php7.0
rpm -Uvh https://mirror.webtatic.com/yum/el7/epel-release.rpm
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

2,查看php7.0源

yum info php70w

3,安装php7.0

yum install php70w php70w-fpm

4,查看php版本

php -v

5,接下来配置/etc/php-fpm.d/www.conf,将user和group改为nginx。

vi /etc/php-fpm.d/www.conf
----------------------------------
user = nginx
group = nginx

6,启动php-fpm服务

/usr/sbin/php-fpm

7,检查php-fpm服务

ps -ef | grep php-fpm
netstat -tlnp | grep 9000

8,修改nginx配置,使nginx能够将php脚本的处理转给php-fpm模块。

如果没安装nginx,请先转移至:如何在CentOS 7上安装Nginx

vi /etc/nginx/conf.d/default.conf(使用yum安装的nginx 1.12.2 80端口对应的配置文件位置。
默认是注释掉的,取消注释即可。如果没有,则添加。注意将/script改为$document_root)
或者在/etc/nginx/nginx.conf文件中加如下代码。(如果有就修改,没有就新增)
-----------------------------

  location / {
          root   /data/nginx/html; #如果磁盘下没有这个目录手动创建
          index index.php index.html;
    }
    location ~ \.php$ {
        root           /data/nginx/html; 
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        include        fastcgi_params;
    }

9,nginx重载配置

nginx -s reload

10,编辑一个测试的php程序。

vi /data/nginx/html/index.php (/data/nginx/html是document_root目录)
-------------------------------------

也可以用本地上传工具lrzsz上传文件
安装方法

yum install lrzsz 

然后在命令行输入rz就可以选择文件上传了

11,输入index.php页面的输出结果

http://你的IP地址/index.php

12,设置session目录访问权限

cd /var/lib/php
chown -R nginx:nginx *

务必保证php-fpm的启动账户(本文设置的启动账户为nginx)对存放session的目录具有读写权限,否则将不能正确使用session。

其它

1、将php 加入系统自启

systemctl enable php-fpm

然后就可以用

systemctl start php-fpm 
systemctl restart php-fpm 
systemctl stop php-fpm 

命令对php启动重启进行操作了。

2、按装扩展

1)如果出现没有安装mysqli 扩展,用如下命令:

yum install php70w-mysqlnd

2)如果出现没有安装mbstring扩展,用如下命令:

yum install php70w-mbstring

3)缺少 mcrypt,用如下命令:

yum install php70w-mcrypt

3、通过phpMyAdmin连接数据库

如果连接报"#2002 无法登录 MySQL 服务器"错误有以下两种解决方案:
方式一:修改/etc/php.ini配置文件。
找到 ”mysqli.default_socket = ” 改为 “mysqli.default_socket = /data/mysql/mysql.sock”

方式二:修改phpMyAdmin的配置文件
将config.sample.inc.php复制成config.inc.php ,修改config.inc.php文件如下:

 $cfg['Servers'][$i]['host'] = 'localhost'改为$cfg['Servers'][$i]['host'] = '127.0.0.1';

4、导入数据库出现“413 Request Entity Too Large”的问题

1、若nginx用所用的 php 请求解析服务是 fpm, 则检查 /etc/php.ini 文件中的参数,将其中参数修改如下:

upload_max_filesize = 20M  
post_max_size = 20M  

重启php-fpm服务

systemctl restart  php-fpm

然后上传20M以内的文件,若仍出现 413 错误,则排除 php.ini 的问题

2.在 /etc/nginx/nginx.conf 网站配置中加入下面字段

1.  server {  
2.  ...  
3.  client_max_body_size 20m;  
4.  ...  
5.  }  

重启nginx服务

systemctl restart nginx

5、卸载PHP

下面的命令是删除不干净的

yum remove php

因为使用这个命令以后再用

php -v

还是会看到有版本信息

必须强制删除,使用下面命令查看全部php软件包

rpm -qa|grep php

提示如下:

php-pdo-5.1.6-27.el5_5.3
php-mysql-5.1.6-27.el5_5.3
php-xml-5.1.6-27.el5_5.3
php-cli-5.1.6-27.el5_5.3
php-common-5.1.6-27.el5_5.3
php-gd-5.1.6-27.el5_5.3

注意卸载要先卸载没有依赖的
pdo是mysql的依赖项;common是gd的依赖项;
例如:

rpm -e php-pdo-5.1.6-27.el5_5.3

error: Failed dependencies:
php-pdo is needed by (installed) php-mysql-5.1.6-27.el5_5.3.i386

所以正确的卸载顺序是:

rpm -e php-mysql-5.1.6-27.el5_5.3 
rpm -e php-pdo-5.1.6-27.el5_5.3 
rpm -e php-xml-5.1.6-27.el5_5.3 
rpm -e php-cli-5.1.6-27.el5_5.3 
rpm -e php-gd-5.1.6-27.el5_5.3 
rpm -e php-common-5.1.6-27.el5_5.3 

再用

php -v

查看版本信息已经没有提示

你可能感兴趣的:(Centos,redhat利用yum源安装php7.0)