好得很程序员自学网
  • 首页
  • 后端语言
    • C#
    • PHP
    • Python
    • java
    • Golang
    • ASP.NET
  • 前端开发
    • Angular
    • react框架
    • LayUi开发
    • javascript
    • HTML与HTML5
    • CSS与CSS3
    • jQuery
    • Bootstrap
    • NodeJS
    • Vue与小程序技术
    • Photoshop
  • 数据库技术
    • MSSQL
    • MYSQL
    • Redis
    • MongoDB
    • Oracle
    • PostgreSQL
    • Sqlite
    • 数据库基础
    • 数据库排错
  • CMS系统
    • HDHCMS
    • WordPress
    • Dedecms
    • PhpCms
    • 帝国CMS
    • ThinkPHP
    • Discuz
    • ZBlog
    • ECSHOP
  • 高手进阶
    • Android技术
    • 正则表达式
    • 数据结构与算法
  • 系统运维
    • Windows
    • apache
    • 服务器排错
    • 网站安全
    • nginx
    • linux系统
    • MacOS
  • 学习教程
    • 前端脚本教程
    • HTML与CSS 教程
    • 脚本语言教程
    • 数据库教程
    • 应用系统教程
  • 新技术
  • 编程导航
    • 区块链
    • IT资讯
    • 设计灵感
    • 建站资源
    • 开发团队
    • 程序社区
    • 图标图库
    • 图形动效
    • IDE环境
    • 在线工具
    • 调试测试
    • Node开发
    • 游戏框架
    • CSS库
    • Jquery插件
    • Js插件
    • Web框架
    • 移动端框架
    • 模块管理
    • 开发社区
    • 在线课堂
    • 框架类库
    • 项目托管
    • 云服务

当前位置:首页>后端语言>PHP
<tfoot draggable='sEl'></tfoot>

php7mysqlnd的简单介绍

很多站长朋友们都不太清楚php7mysqlnd,今天小编就来给大家整理php7mysqlnd,希望对各位有所帮助,具体内容如下:

本文目录一览: 1、 centos的php7怎么安装memcached扩展 2、 如何在PHP7中安装mysql的扩展 3、 PHP5.5 win7系统,phpinfo()里只有mysqlnd没有mysql 求问 4、 PHP7.0怎么通过打开扩展功能和mysql相连? 5、 如何在PHP7中安装mysql扩展 6、 如何在openSUSE42.1下编译安装PHP7 centos的php7怎么安装memcached扩展

最近试了一下PHP7,在编译和支持MySQL上都遇到一些问题,相信不少同学也同样遇到,所以在这里聊一下这个过程。简单来讲编译PHP7只需要3步:1、./buildconf --force2、./configure3、make make install1、3步,都没啥好管的,configure是编译的关键,涉及到PHP对一些库的支持,这里我们使用最小的支持,包括MySQL:curlgdfpmmysqlnd之所以把curl和gd拿来说,目的是要搞清楚,这些三方库在编译PHP之前得安装好,可以直接使用yum安装在默认位置,也可以编译安装到指定位置,yum安装后,编译时不用指定库的安装位置,关于安装这些库,可以搜索一下有很多。下面看看基本的configure./configure --prefix=/apps/php/php7.0 --enable-mbstring --with-curl --with-gd --with-config-file-path=/apps/php/php7.0/etc/ --enable-fpm --enable-mysqlnd --with-pdo-mysql=mysqlndPHP-FPM关于fpm,相信不用多说,用它来支持PHP是一个比较好的选择,PHP5.3.3开始就已经内置了php-fpm,所以PHP7里当然也有,只需要--enable-fpm一下就可以了php-fpm参数:--start 启动--stop 强制终止--quit 平滑终止--restart 重启--reload 重新平滑加载php的php.ini--logrotate 重新启用log文件MySQL支持重点讲一下这个,因为在它上面花了一点时间,不知道从哪一版本开始,PHP不在希望使用mysql的库来支持mysql的连接,启用了mysqlnd来支持,听说比libmysql要快很多,PHP5.x还可以使用libmysql,PHP7貌似已经取消了支持,编译都没有了--with-mysql参数,只支持--with-mysqli和--with-pdo-mysql,可以通过查看configure的参数来知道:./configure -help grep mysql 可以看到,PHP希望使用mysqlnd来支持MySQL,所以参数可以这样写:--enable-mysqlnd--with-mysqli=mysqlnd--with-pdo-mysql=mysqlndmysqlnd是不需要mysql支持的,所以不用先安装好mysql一样可以编译通过,启动php-fpm,查看一下phpinfo,能看到mysqlnd和pdo_mysql表示php已经可以支持mysql了(这里用的是pdo,mysqli同理)几个问题编译问题:cc: Internal error: Killed (program cc1)这个问题是第一次遇到,原来是我的阿里云服务器关掉了swap,内存不够用,就报了这个错。 解决办法很简单,configure时加上--disable-fileinfo参数就可以了。PHP报找不到mysql服务正如它所说,确实没找到,看看phpinfo中pdo_mysql.default_socket项mysql.sock在哪里,再看一下mysql.sock的真正位置,使用命令:ps -efgrep mysql查看:明显不在一个位置上,我的正确位置是:/var/lib/mysql/mysql.sock所以,修改一下php.ini,找到pdo_mysql.default_socket,改为你的实际位置,重启一下php-fpm,很不幸,虽然php.ini有这个配置,修改后,竟然不行,最好是编译的时候,指定mysql.socket的位置:--with-mysql-sock=/var/lib/mysql/mysql.sock 如果还不行,可以到/tmp目录下建立一个mysql.sock的软链接:ln -s /var/lib/mysql/mysql.sock mysql.sock 再重启一次php-fpm,相信已经正常运行了。如果需要PHP支持的库更多,可以再次编译,在configure时把需要的支持加上,就是--with-xxx这中,记得如果是三方的,要先安装这些库才行哦。

如何在PHP7中安装mysql的扩展

网上一堆教程,一搜就有了,或者你可以选择集成环境套件软件。

你可以直接使用phpwamp8.1.8.8,自带最新php版本兼容所有windows系统

自身集成了php7等各个版本,还能自定义设置任意php版本,官方提供700个php版本给你切换,不会使用的话,看官网教程,百度搜索“phpwamp”就有了。

PHP5.5 win7系统,phpinfo()里只有mysqlnd没有mysql 求问

mysqlnd 只是mysql的驱动。需要把mydql扩展配置好才可以。查看php.ini

extension=php_mysql.dll

前面的“;”分号是否去掉,记得看一下扩展文件php_mysql.dll是不是在php的扩展目录里。

再重启一下apache或者nginx

PHP7.0怎么通过打开扩展功能和mysql相连?

第一步:进入php源码中的"ext/mysql"目录下

第二步:在当前目录下运行phpize命令:/usr/local/php524/bin/phpize

phpize的规则:去哪个目录下运行phpize文件,那么就会在该目录下生成一个configure文件。

第三步:运行刚才生成的configure文件

命令: ./configure --with-php-config=/usr/local/php524/bin/php-config --with-mysql=/usr/local/mysql/

这里最关键的是通过--with-mysql参数告诉mysql客户端的位置。这样才能生成mysql.so。

实验的时候,没有加这个参数,结果错误:

./configure --with-php-config=/usr/local/php524/bin/php-config

第四步:编译生成.so文件

第五步:配置php引擎加载该扩展。

补充一下:就是去php.ini文件中修改一下配置,加载mysql.so这个扩展(这个扩展文件要放到php指定的扩展目录下面去)

第六步:测试php引擎是否成功加载该扩展编写文件phpinfo.php,内容是:<?php ehco phpinfo(); ?>

运行后,可以看到有如下信息显示:mysqlMySQLSupport    enabledActive PersistentLinks     0

Active Links     0

Client API version     5.1.55

MYSQL_MODULE_TYPE     no value

MYSQL_SOCKET     /tmp/mysql.sock

MYSQL_INCLUDE     no value

MYSQL_LIBS     no value

通过这样的方式可以确认,php引擎已经成功加载了mysql.so扩展。

第七步:已经生成的mysql.so。编写php代码测试是否能连接mysql。

一、为什么书中一般是常常是这样的顺序安装。

先安装mysql,然后再安装php,很少看到先安装php,后安装mysql?

这样做。是基于下面原因:安装好mysql后。mysql.so这个模块才能生成。记得一个细节:在安装php的时候,需要提供mysql的路径。由php帮助编译生成mysql.so模块。mysql.so这个模块是在安装好php的时候生成的。

生成这个模块需要用到一个东西:mysql客户端。如果先安装php,后安装mysql。那么无法按照原来的方式(由php帮助生成mysql.so模块)挂接mysql.so。通过实践,发现使用phpize工具生成mysql.so可以解决这个问题。

二、实践生成mysql.so的过程。

大体思路:需要用到php的源码包才行。通过源码包中提供的phpize文件(一个专门挂接php扩展的工具)

如何在PHP7中安装mysql扩展

1,去php网站上下载mysql扩展

2,解压并使用phpize工具初始化,编译:

#解压

tar xzvf mysql-45881bd.tar.gz

#进入mysql扩展目录

cd mysql-45881bd/

#使用phpize初始化,我的phpize在/opt/目录

/opt/php/bin/phpize

#编译mysql扩展,使用mysql native driver作为mysql链接库

./configure --with-php-config=/opt/php/bin/php-config --with-mysql=mysqlnd

make make install

5,编辑php.ini文件,把mysql.so拷贝到php.ini的extension_dir中,然后在php.ini中加入extension=mysql.so

6,重启php

如何在openSUSE42.1下编译安装PHP7

首先推荐一篇文章

PHP

7

Release

Date

Arrived:

Will

Developers

Adopt

PHP

7?

-

PHP

Classes

blog

。

里面说到是否会去使用PHP7,就个人而言,我是毫不犹豫地使用的,但是生产环境就不是我说了算,所以只能自己在自己的开发环境里更新PHP的版本。那么,你呢?

笔者使用的是Linux的openSUSE42.1发行版,Yast里面还没有PHP7的安装包,于是乎只能自己手动编译安装了。作为一个PHP开发者,我是非常希望能够学会编译安装PHP7的,之前试过几次,但是每次安装都要上网找各种资料,于是乎,这次安装成功后就想把自己的安装过程以及遇到的问题记录下来,方便以后查阅和分享给需要的人。

下载源码并解压

进入正题,要编译安装PHP7,首先当然要下载PHP7的源码。你可以到

github

上clone,也可以到

PHP官网

下载。下载后解压到

/usr/local/src

目录,并将目录重命名为php7。进入目录。

配置编译参数

生成配置文件

./buildconf

配置

./configure

\

--prefix=/usr/local/php7

\

--exec-prefix=/usr/local/php7

\

--bindir=/usr/local/php7/bin

\

--sbindir=/usr/local/php7/sbin

\

--includedir=/usr/local/php7/include

\

--libdir=/usr/local/php7/lib/php

\

--mandir=/usr/local/php7/php/man

\

--with-config-file-path=/usr/local/php7/etc

\

--with-mysql-sock=/var/run/mysql/mysql.sock

\

--with-mcrypt=/usr/include

\

--with-mhash

\

--with-openssl

\

--with-mysqli=shared,mysqlnd

\

--with-pdo-mysql=shared,mysqlnd

\

--with-gd

\

--with-iconv

\

--with-zlib

\

--enable-zip

\

--enable-inline-optimization

\

--disable-debug

\

--disable-rpath

\

--enable-shared

\

--enable-xml

\

--enable-bcmath

\

--enable-shmop

\

--enable-sysvsem

\

--enable-mbregex

\

--enable-mbstring

\

--enable-ftp

\

--enable-gd-native-ttf

\

--enable-pcntl

\

--enable-sockets

\

--with-xmlrpc

\

--enable-soap

\

--without-pear

\

--with-gettext

\

--enable-session

\

--with-curl

\

--with-jpeg-dir

\

--with-freetype-dir

\

--enable-opcache

\

--enable-fpm

\

--disable-cgi

\

--with-fpm-user=nginx

\

--with-fpm-group=nginx

\

--without-gdbm

\

--disable-fileinfo

参数说明

prefix

PHP7安装的根目录

with-config-file-path

PHP7的配置文件目录

执行完上面的配置命令后的结果如下图所示:

执行上面命令的过程中会遇到一些依赖缺少的提示,下面列出我遇到的依赖问题:

错误:

configure:

error:

xml2-config

not

found.

Please

check

your

libxml2

installation.

解决:

zypper

install

libxml2-devel

错误:

configure:

WARNING:

unrecognized

options:

--with-mysql

解决:

取消这个选项,这个选项是不存在的

错误:

configure:

error:

jpeglib.h

not

found.

解决:

zypper

install

libjpeg-devel

错误:

configure:

error:

mcrypt.h

not

found.

Please

reinstall

libmcrypt.

解决:

zypper

install

libmcrypt-devel

错误:

checking

for

recode

support...

yes

configure:

error:

Can

not

find

recode.h

anywhere

under

/usr

/usr/local

/usr

/opt.

解决:

zypper

install

librecode-devel

总的来说,在配置的时候遇到没有的就打开Yast搜一下,如果有的话就安装,然后重新编译看还需要那些,如果在Yast找不到,那就上网找一下Google。

编译和安装PHP7

make

make

install

其中,make之后可以选择make

test。只是一个可选步骤,不执行不知道有什么问题,不过笔者暂时还没遇到。

查看安装成功后的PHP7目录

编译安装成功后,查看PHP7的安装目录`ls

/usr/local/php7`:

设置PHP7的配置文件

cp

/usr/local/src/php7/php.ini-production

/usr/local/php7/etc/php.ini

cp

/usr/local/src/sapi/fpm/init.d.php-fpm

/etc/init.d/php-fpm

cp

/usr/local/php7/etc/php-fpm.conf.default

/usr/local/php7/etc/php-fpm.conf

cp

/usr/local/php7/etc/php-fpm.d/

/usr/local/php7/etc/php-fpm.d/

设置环境变量

在/etc/profile

文件的最后一行加上

export

PATH=/usr/local/php7/bin:/usr/local/php7/sbin:$PATH

然后执行

source

/etc/profile

设置PHP日志目录和php-fpm进程文件(php-fpm.sock)目录

mkdir

-p

/var/log/php-fpm/

mkdir

-p

/var/run/php-fpm

cd

/var/run/

chown

-R

nginx:nginx

php-fpm

将PHP设置为开机启动

chmod

+x

/etc/init.d/php-fpm

chkconfig

php-fpm

on

可以用chkconfig命令查看开机启动服务列表。

启动PHP服务

service

php-fpm

start

通过ps

aux

|

grep

'php'查看PHP是否启动成功

至此,PHP7就安装成功了,你也开始使用PHP7吧!

关于php7mysqlnd的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。

查看更多关于php7mysqlnd的简单介绍的详细内容...

声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://www.haodehen.cn/did207447
更新时间:2023-05-03   阅读:18次

上一篇: php中chr函数的作用 char php

下一篇:包含php文章发布系统cms的词条

相关资讯

最新资料更新

  • 1.nginx分离部署php nginx分发请求
  • 2.PHP添加日期代码 php年月日时间代码
  • 3.iisphpma的简单介绍
  • 4.php页面加ico php嵌入网页
  • 5.php薪资1680 php一个月能挣多少钱
  • 6.php中套js代码 js中写php代码
  • 7.redis缓存类php php redis页面缓存
  • 8.php数据导出csv php导出大量数据
  • 9.怎么开发一个php项目 php项目开发流程
  • 10.php内存管理垃圾回收 php的垃圾回收机制是怎样的
  • 11.php类属性分类 php数据类型
  • 12.php提取css文件 php引用css文件
  • 13.php实现权限分配 php权限设计
  • 14.php解压gz效率 rarphp文件怎么解压
  • 15.php验证邮箱合理 php发送邮件验证码
  • 16.php中序递归 php递归算法1加到100
  • 17.关于php2esgbi的信息
  • 18.php河内塔问题 河内塔算法
  • 19.php网页老是跳转 php 网页跳转
  • 20.phphtml补全 html自动补全代码

CopyRight:2016-2025好得很程序员自学网 备案ICP:湘ICP备09009000号-16 http://www.haodehen.cn
本站资讯不构成任何建议,仅限于个人分享,参考须谨慎!
本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。
本网站刊载的所有内容(包括但不仅限文字、图片、LOGO、音频、视频、软件、程序等)版权归原作者所有。任何单位或个人认为本网站中的内容可能涉嫌侵犯其知识产权或存在不实内容时,请及时通知本站,予以删除。

网站内容来源于网络分享,如有侵权发邮箱到:kenbest@126.com,收到邮件我们会即时下线处理。
网站框架支持:HDHCMS   51LA统计 百度统计
Copyright © 2018-2025 「好得很程序员自学网」
[ SiteMap ]