centos php7 无法加载mysqli_Linux下安装PHP7+MySQL
环境背景:Linux-Centos
第一步,安装PHP7
1,安装依赖包
yum install -y gcc gcc-c++ make zlib zlib-devel pcre pcre-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel openssl openssl-devel openldap openldap-devel nss_ldap openldap-clients openldap-servers
2,下载安装包 -- 切换到自己的安装目录然后下载
cd /usr/local wget https://www.php.net/distributions/php-7.1.31.tar.gz
3,解压
tar zxvf php-7.1.31.tar.gz
4,检查当前的环境是否满足要安装软件的依赖关系
进入php目录,编译自己想安装到的目录
cd php-7.1.31./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php --enable-mbstring --enable-ftp --with-gd --with-jpeg-dir=/usr --with-png-dir=/usr --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --without-pear --disable-phar --enable-sockets --with-freetype-dir=/usr --with-zlib --with-libxml-dir=/usr --with-xmlrpc --enable-zip --enable-fpm --enable-xml --enable-sockets --with-gd --with-zlib --with-iconv --enable-zip --with-freetype-dir=/usr/lib/ --enable-soap --enable-pcntl --enable-cli --with-curl
5,编译安装
make && make install
6,在之前编译的源码包中,找到 php.ini-production,复制到/usr/local/php下,并改名为php.ini:
cp php.ini-production /usr/local/php/php.ini
7,设置让PHP错误信息打印在页面上
vim /usr/local/php/php.ini
把off改成on
8,复制启动脚本
$ cp ./sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm$ chmod +x /etc/init.d/php-fpm
修改php-fpm配置文件:
$ cd /usr/local/php/etc$ cp php-fpm.conf.default php-fpm.conf$ vi php-fpm.conf
去掉 pid = run/php-fpm.pid 前面的分号
$ cd php-fpm.d$ cp www.conf.default www.conf$ vi www.conf
修改user和group的用户为当前用户(也可以不改,默认会添加nobody这个用户和用户组)
9.启动PHP
$ /etc/init.d/php-fpm start #php-fpm启动命令$ /etc/init.d/php-fpm stop #php-fpm停止命令$ /etc/init.d/php-fpm restart #php-fpm重启命令$ ps -ef | grep php 或者 ps -A | grep -i php #查看是否已经成功启动PHP
10.开机自启动
vi /etc/rc.local
将 /etc/init.d/php-fpm start 添加进去
chmod +x /etc/rc.d/rc.local
11,把php命令加入环境变量
ln -s /usr/local/php/bin/php /usr/local/bin/
12,查看php版本
php -v
第二步,安装MySQL
1,下载资源包
切换到本地资源目录
cd /usr/local/srcwget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz
2,解压资源包,挪动目标
tar -zxvf mysql-5.7.22-linux-glibc2.12-x86_64.tar.gzmv mysql-5.7.26-linux-glibc2.12-x86_64 /usr/local/mysql
3,创建MySQL用户组和用户,并修改权限
groupadd mysqluseradd -r -g mysql mysql
4,创建目录 并赋予权限
mkdir -p /data/mysqlchown mysql:mysql -R /data/mysql
5,配置my.conf
vim /etc/my.cnf
内容:
[mysqld]
bind-address=0.0.0.0
port=3306
user=mysql
basedir=/usr/local/mysql
datadir=/data/mysql
socket=/tmp/mysql.sock
log-error=/data/mysql/mysql.err
pid-file=/data/mysql/mysql.pid
#character config
character_set_server=utf8mb4
symbolic-links=0
explicit_defaults_for_timestamp=true
6,初始化数据库
cd /usr/local/mysql/bin/
初始化
./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql/ --datadir=/data/mysql/ --user=mysql --initialize
原因:
yum 安装的libnuma.so.1,但安装时默认安装的是32的,但db2需要的是64位的
解决办法:
1.如果已经安装了libnuma.so.1,先yum remove libnuma.so.1
2.yum -y install numactl.x86_64
7,启动MySQL,并修改数据库root密码
先将mysql.server放置到/etc/init.d/mysql中
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
启动mysql服务
service mysql startps -aux | grep mysql
说明安装已成功
8,修改root密码
第一次安装如果不知道mysql root用户密码或忘记,可以修改my.cnf配置 免密登录,然后修改密码后,再关闭免密登录
/usr/local/mysql/bin/mysql -u root -p #如果忘记密码或不知道密码vim /etc/my.cnf
在最下面添加 skip-grant-tables,意为免密登录。保存退出,
重启mysql服务
service mysql restart
此时 重新登录数据库
/usr/local/mysql/bin/mysql -u root -pmysql> use mysql;mysql>update user set authentication_string = password("123456") where user="root" ; #此为修改密码mysql>flush privileges; #刷新数据库mysql>quit; #退出
重新编辑配置文件,去掉免密登录
vim /etc/my.cnf
去掉或屏蔽 skip-grant-tables,保存退出,
重启mysql服务,就可以用新密码登录mysql
9,mysql5.7版本后设置了用户的过期时间,导致mysql终端有时不可执行命令
mysql> SET PASSWORD = PASSWORD('123456');mysql>ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;mysql>FLUSH PRIVILEGES;
10,远程连接mysql
直接使用IP加用户密码 会连接不上
登录mysql,执行三个命令
use mysql #访问mysql库update user set host = '%' where user = 'root'; #使root能在任何host访问FLUSH PRIVILEGES; #刷新
这里mysql如果有多个用户,可设置不同权限, 尽量使用仅可读账号 用于不限制host访问,root账号避免此类危险操作
此时再用客户端 远程连接,就会连接成功。
至此,MySQL5.7就按照完毕
为了下次登录mysql终端方便,可以创建软链
ln -s /usr/local/mysql/bin/mysql /usr/bin
下次就可以直接用 mysql命令 进入终端
至此,Linux上安装PHP7和MySql 就都已成功了!
centos php7 无法加载mysqli_Linux下安装PHP7+MySQL相关推荐
- centos 6 php环境,centos6.6 下 安装 php7 + nginx环境的方法
本文实例讲述了centos6.6 下 安装 php7 + nginx环境的方法.分享给大家供大家参考,具体如下: 1.安装必要的依赖库 > yum -y install gd zlib libj ...
- ubunntu安装php7.0_在 Ubuntu/Debian 下安装 PHP7.3 教程
介绍 最近的 PHP 7.3.0 已经在 2018 年12月6日 发布 GA,大家已经可以开始第一时间体验新版本了,这里先放出 PHP7.3 安装的教程以便大家升级. 适用系统: Ubuntu 18. ...
- Android应用开发提高系列(5)——Android动态加载(下)——加载已安装APK中的类和资源...
前言 Android动态加载(下)--加载已安装APK中的类和资源. 声明 欢迎转载,但请保留文章原始出处:) 博客园:http://www.cnblogs.com 农民伯伯: http://ov ...
- CentOS使用NTFS-3G加载NTFS硬盘
CentOS使用NTFS-3G加载NTFS硬盘 CentOS 挂载NTFS格式硬盘时会报错unknown filesystem type 'ntfs',这时就需要用到第三方的插NTFS-3G来加载NT ...
- php7 apache mysql_Windows下安装php7+Apache2.4+MySQL
因为学习需要,所以在Windows下安装php7+Apache2.4+MySQL 1.安装Apache 到官网下载Apache2.4 ,选择Windows版本,这里本人下载2.4版本 下载之后解压 修 ...
- mac php7 mysql.so_mac下安装php7详解
本文主要为大家介绍一下mac 下安装php7全过程.具有很好的参考价值,希望对大家有所帮助.一起跟随小编过来看看吧,希望能帮助到大家. 更新系统库 yum -y install gcc gcc-c++ ...
- better-scroll 上拉加载,下拉刷新(解决移动端长页面卡顿)
一.Better Scroll 滚动原理 1.下图能直观的表示better-scroll的滚动原理 2.html设置 <div class="wrapper"> < ...
- 小程序上拉加载,下拉刷新
小程序上拉加载,下拉刷新 data: {collectinformation: null,number: 1,size: 10,isOpenLoading: true,isEmpty: true,is ...
- 基于iSroll 5.0实现的上拉加载和下拉刷新插件
Updownload.js 基于iSroll 5.0实现的上拉加载和下拉刷新插件 移动端效果比较好,开发者工具打开后,需要刷新下页面. [演示地址:] https://chenyk2016.githu ...
最新文章
- python opencv创建图像_使用Python中OpenCV库创建一幅图片的RGB通道图片
- python语法错误概述_python语法错误
- hadoop单机安装,小白上手最详细教程-Ali0th
- linux下的主要目录
- SQL Server 2008 R2 安全性专题(一):安全原则
- Spring Bean的获取与实例化
- win7在未关闭vmware情况下直接关机,导致虚拟机无法克隆
- 什么是掼蛋游戏呼叫中心
- python怎么打开笔记本无线网络开关_如何轻松搞定 笔记本搜不到WIFI信号问题
- js html utf8编码转换,js中的UTF-8编码与解码
- 白皮书 | 以太坊 (Ethereum ):下一代智能合约和去中心化应用平台
- Java for selenium(webdriver) 环境搭建
- html编写个人博客_云开发平台开箱,3分钟零基础搭建个人Hexo博客
- centos SSH免密登录
- 最全的react视频【黑马程序员】--第一章 react介绍
- Ubuntu18版本安装ROS
- linux中的makefile文件
- [Tensorflow]关于TFRecord和tf.Example的使用
- ZZULIOJ1198: 考试排名(二)(结构体专题)
- NDK_PROJECT_PATH = null问题分析
热门文章
- 使用Navicat为数据库表建立触发器
- SVN可视化管理工具——Subversion Edge使用
- MFC中从一个类向其他类发送消息的方法
- NOX+ Open vSwitch安装相关命令【备份】
- C语言正函数nosign,Function declarations(函数声明)
- linux文件定时备份到windows,Linux和windows定时备份数据到百度云盘
- 嵌入式电路设计(第一个商业pcb电路图绘制)
- 随想录(软件逆向与OllyDbg)
- android 获取linux线程状态,Android 的进程与线程总结
- matlab日期textscan,求助:在MATLAB里如何输入时间序列中的时间