环境背景: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.0port=3306user=mysqlbasedir=/usr/local/mysqldatadir=/data/mysqlsocket=/tmp/mysql.socklog-error=/data/mysql/mysql.errpid-file=/data/mysql/mysql.pid#character configcharacter_set_server=utf8mb4symbolic-links=0explicit_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.12.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相关推荐

  1. centos 6 php环境,centos6.6 下 安装 php7 + nginx环境的方法

    本文实例讲述了centos6.6 下 安装 php7 + nginx环境的方法.分享给大家供大家参考,具体如下: 1.安装必要的依赖库 > yum -y install gd zlib libj ...

  2. ubunntu安装php7.0_在 Ubuntu/Debian 下安装 PHP7.3 教程

    介绍 最近的 PHP 7.3.0 已经在 2018 年12月6日 发布 GA,大家已经可以开始第一时间体验新版本了,这里先放出 PHP7.3 安装的教程以便大家升级. 适用系统: Ubuntu 18. ...

  3. Android应用开发提高系列(5)——Android动态加载(下)——加载已安装APK中的类和资源...

    前言  Android动态加载(下)--加载已安装APK中的类和资源. 声明 欢迎转载,但请保留文章原始出处:)  博客园:http://www.cnblogs.com 农民伯伯: http://ov ...

  4. CentOS使用NTFS-3G加载NTFS硬盘

    CentOS使用NTFS-3G加载NTFS硬盘 CentOS 挂载NTFS格式硬盘时会报错unknown filesystem type 'ntfs',这时就需要用到第三方的插NTFS-3G来加载NT ...

  5. php7 apache mysql_Windows下安装php7+Apache2.4+MySQL

    因为学习需要,所以在Windows下安装php7+Apache2.4+MySQL 1.安装Apache 到官网下载Apache2.4 ,选择Windows版本,这里本人下载2.4版本 下载之后解压 修 ...

  6. mac php7 mysql.so_mac下安装php7详解

    本文主要为大家介绍一下mac 下安装php7全过程.具有很好的参考价值,希望对大家有所帮助.一起跟随小编过来看看吧,希望能帮助到大家. 更新系统库 yum -y install gcc gcc-c++ ...

  7. better-scroll 上拉加载,下拉刷新(解决移动端长页面卡顿)

    一.Better Scroll 滚动原理 1.下图能直观的表示better-scroll的滚动原理 2.html设置 <div class="wrapper"> < ...

  8. 小程序上拉加载,下拉刷新

    小程序上拉加载,下拉刷新 data: {collectinformation: null,number: 1,size: 10,isOpenLoading: true,isEmpty: true,is ...

  9. 基于iSroll 5.0实现的上拉加载和下拉刷新插件

    Updownload.js 基于iSroll 5.0实现的上拉加载和下拉刷新插件 移动端效果比较好,开发者工具打开后,需要刷新下页面. [演示地址:] https://chenyk2016.githu ...

最新文章

  1. python opencv创建图像_使用Python中OpenCV库创建一幅图片的RGB通道图片
  2. python语法错误概述_python语法错误
  3. hadoop单机安装,小白上手最详细教程-Ali0th
  4. linux下的主要目录
  5. SQL Server 2008 R2 安全性专题(一):安全原则
  6. Spring Bean的获取与实例化
  7. win7在未关闭vmware情况下直接关机,导致虚拟机无法克隆
  8. 什么是掼蛋游戏呼叫中心
  9. python怎么打开笔记本无线网络开关_如何轻松搞定 笔记本搜不到WIFI信号问题
  10. js html utf8编码转换,js中的UTF-8编码与解码
  11. 白皮书 | 以太坊 (Ethereum ):下一代智能合约和去中心化应用平台
  12. Java for selenium(webdriver) 环境搭建
  13. html编写个人博客_云开发平台开箱,3分钟零基础搭建个人Hexo博客
  14. centos SSH免密登录
  15. 最全的react视频【黑马程序员】--第一章 react介绍
  16. Ubuntu18版本安装ROS
  17. linux中的makefile文件
  18. [Tensorflow]关于TFRecord和tf.Example的使用
  19. ZZULIOJ1198: 考试排名(二)(结构体专题)
  20. NDK_PROJECT_PATH = null问题分析

热门文章

  1. 使用Navicat为数据库表建立触发器
  2. SVN可视化管理工具——Subversion Edge使用
  3. MFC中从一个类向其他类发送消息的方法
  4. NOX+ Open vSwitch安装相关命令【备份】
  5. C语言正函数nosign,Function declarations(函数声明)
  6. linux文件定时备份到windows,Linux和windows定时备份数据到百度云盘
  7. 嵌入式电路设计(第一个商业pcb电路图绘制)
  8. 随想录(软件逆向与OllyDbg)
  9. android 获取linux线程状态,Android 的进程与线程总结
  10. matlab日期textscan,求助:在MATLAB里如何输入时间序列中的时间