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目录)
-------------------------------------
<?php
phpinfo();
?>
也可以用本地上传工具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
查看版本信息已经没有提示