页面提示:缺少mysqli扩展,安装了扩展又提示mbstring缺少。。。...(我勒个去,rpm安装真不舒服) 我于是就挨个搜集了rpm(先给大家说下,我搜集了很长时间的,也试过从其他机器上直接拷贝各种扩展结果不能使用) 由于我的php版本是5.3.3【点击下载PHP5.3.3rpm
首先找到php.ini,放开扩展: ? 打开php.ini ? 去掉前面的分号,因为是linux环境所以扩展改为.so文件 进入容器内docker安装扩展的目录: ? ..../docker-php-ext-install mysqli 需要什么扩展就安装什么扩展即可。...安装成功,退出docker,重启docker docker restart php 访问网站phpinfo() 即可看到对应扩展。 再次进入docker内: ?...发现扩展已经全部存在, 这里注意,如果php.ini里是 php_mysql.so或者php_mysqli.so,只需要去掉php_即可,保持扩展库的名字和php.ini的配置名字一致。
关于 PDO 的学习我们告一段落,从这篇文章开始,我们继续学习另外一个 MySQL 扩展,也就是除了 PDO 之外的最核心的 MySQLi 扩展。...现在如果想要使用过程式的代码来操作数据库,只能使用 mysqli 扩展了。当然,mysqli 扩展也是支持面向对象式的写法的。...什么是 MySQLi MySQLi 扩展允许我们访问 MySQL4.1 及以上版本的数据库所提供的功能。...扩展的安装及 MySQL8 需要注意的地方 MySQLi 的扩展是随 PHP 源码一起发布的,我们在编译 PHP 的时候加上 --with-mysqli 就可以了。...在接下来的文章中,我们将默认只使用 面向对象 式的写法来继续学习 MySQLi 扩展相关的知识。
PHP中的MySQLi扩展学习(一)MySQLi介绍 关于 PDO 的学习我们告一段落,从这篇文章开始,我们继续学习另外一个 MySQL 扩展,也就是除了 PDO 之外的最核心的 MySQLi 扩展。...现在如果想要使用过程式的代码来操作数据库,只能使用 mysqli 扩展了。当然,mysqli 扩展也是支持面向对象式的写法的。...什么是 MySQLi MySQLi 扩展允许我们访问 MySQL4.1 及以上版本的数据库所提供的功能。...扩展的安装及 MySQL8 需要注意的地方 MySQLi 的扩展是随 PHP 源码一起发布的,我们在编译 PHP 的时候加上 --with-mysqli 就可以了。...在接下来的文章中,我们将默认只使用 面向对象 式的写法来继续学习 MySQLi 扩展相关的知识。
PHP开发中,使用Mysql扩展来链接Mysql数据库进行增删改查等操作。 在选择Mysql扩展的时候,官方提供了两种: MySQL 原始版。...从 PHP 5.5.0 起这个扩展已经被废弃,并且从 PHP 7.0.0. 开始被移除。 作为替代,可以使用 mysqli 或者 PDO_MySQL 扩展代替。 MySQL 增强版。...mysqli扩展允许我们访问MySQL 4.1及以上版本提供的功能。...相关概念 MySQL 与 MySQLi 都是PHP方面的函数集。 在 PHP5 版本以后,增加了mysqli的函数功能。 某种意义上讲,它是MySQL系统函数的增强版,更稳定更高效更安全。...建议 PHP版本为5.x建议使用 mysqli 扩展。 PHP版本为7 只能使用 mysqli 扩展。 Thanks ~
PHP中的MySQLi扩展学习(三)mysqli的基本操作 我们继续 MySQLi 扩展的学习,上篇文章中提到过,MySQLi 的扩展相对于 PDO 来说功能更加的丰富,所以我们依然还会在学习过程中穿插各种...MySQLi 中好玩的方法函数。...$mysqli = new mysqli(); $mysqli->real_connect("localhost", "root", "", "blog_test"); var_dump($mysqli...($mysqli->affected_rows); var_dump($mysqli->insert_id); $mysqli->query("update zyblog_test_user set...测试代码: https://github.com/zhangyue0503/dev-blog/blob/master/php/202009/source/6.PHP中的MySQLi扩展学习(三)mysqli
我们继续 MySQLi 扩展的学习,上篇文章中提到过,MySQLi 的扩展相对于 PDO 来说功能更加的丰富,所以我们依然还会在学习过程中穿插各种 MySQLi 中好玩的方法函数。...$mysqli = new mysqli();$mysqli->real_connect("localhost", "root", "", "blog_test");var_dump($mysqli);...($mysqli);// ["thread_id"]=>// int(164) 首先,我们实例化了一个 mysqli 对象。...($mysqli->affected_rows);var_dump($mysqli->insert_id);$mysqli->query("update zyblog_test_user set password...$mysqli = new mysqli("localhost", "root", "", "blog_test");$mysqli->multi_query($sql);$i = 1;do{ echo
PHP中的MySQLi扩展学习(六)MySQLI_result对象操作 在之前的文章中,我们就已经接触过 MYSQLI_result 相关的内容。它的作用其实就是一个查询的结果集。...但在 MySQLi 中,会把查询到的结果也放入一个对象中,这就是 MySQLI_result 对象。...总结 至此,MySQLi 相关扩展的学习我们也就告一段落了,其它的一些类和函数比如 MySQLI_Driver 、 MySQLI_Exception 之类的内容大家可以自行查阅相关的文档,内容都不是很多...总体来说,整个 PHP 中和 MySQL 打交道的官方扩展我们就已经全部学习完了,PDO 和 MYSQLi 这两个扩展大家更主要的还是要掌握它们的区别和联系。...测试代码: https://github.com/zhangyue0503/dev-blog/blob/master/php/202009/source/9.PHP中的MySQLi扩展学习(六)MySQLI_result
对于 MySQLi 来说,事务和预处理语句当然是它之所以能够淘汰 MySQL(原始) 扩展的资本。我们之前也已经学习过了 PDO 中关于事务和预处理语句相关的内容。...所以在这里,我们就不再多讲理论方面的东西了,直接上代码来看看 MySQLi 中这两大特性与 PDO 在使用上的区别。 事务处理 首先,我们还是要让 MySQLi 对于错误的语句也报出异常来。...而在 MySQLi 中,我们则需要指定 MySQLi_Driver 对象中的报错属性为抛出异常,很明显,MySQLi_Driver 就是 MySQLi 的驱动对象。...// 使用异常处理错误情况 $driver = new mysqli_driver(); $driver->report_mode = MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT...; 这样就指定了在使用 MySQLi 扩展时,所有的错误信息都会作为异常抛出。
就像 PDO 中的 PDO_Statment 对象一样,MySQLI_STMT 对象也是一个预处理语句所形成的对象,专门用来操作 MySQLi 所生成的预处理语句的。...; $username='mysqli_username'; $password='mysqli_password'; $salt = 'mysqli_salt'; $stmt->bind_param...; $id = 's'; $username='mysqli_username'; $password='mysqli_password'; $salt = 'mysqli_salt'; $stmt-...可以看出,MySQLI_STMT 的错误属性和信息基本和 MySQLi 对象的是一样的。 列绑定 除了请求查询语句参数的绑定之外,MySQLI_STMT 也是支持直接绑定列的。...关于 MySQLI_result 对象的内容,我们将在下篇文章中再进行详细的学习了解。
PHP中的MySQLi扩展学习(五)MySQLI_STMT对象操作 就像 PDO 中的 PDO_Statment 对象一样,MySQLI_STMT 对象也是一个预处理语句所形成的对象,专门用来操作 MySQLi...; $username='mysqli_username'; $password='mysqli_password'; $salt = 'mysqli_salt'; $stmt->bind_param...; $id = 's'; $username='mysqli_username'; $password='mysqli_password'; $salt = 'mysqli_salt'; $stmt-...可以看出,MySQLI_STMT 的错误属性和信息基本和 MySQLi 对象的是一样的。 列绑定 除了请求查询语句参数的绑定之外,MySQLI_STMT 也是支持直接绑定列的。...测试代码: https://github.com/zhangyue0503/dev-blog/blob/master/php/202009/source/8.PHP中的MySQLi扩展学习(五)MySQLI_STMT
PHP中的MySQLi扩展学习(四)mysqli的事务与预处理语句 对于 MySQLi 来说,事务和预处理语句当然是它之所以能够淘汰 MySQL(原始) 扩展的资本。...而在 MySQLi 中,我们则需要指定 MySQLi_Driver 对象中的报错属性为抛出异常,很明显,MySQLi_Driver 就是 MySQLi 的驱动对象。...// 使用异常处理错误情况 $driver = new mysqli_driver(); $driver->report_mode = MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT...; 这样就指定了在使用 MySQLi 扩展时,所有的错误信息都会作为异常抛出。...测试代码: https://github.com/zhangyue0503/dev-blog/blob/master/php/202009/source/7.PHP中的MySQLi扩展学习(四)mysqli
2、PHP MySQLi 扩展 PHP 官方提供了很多用于与 MySQL 服务器进行交互的扩展,从最早的 mysql 到后来增强版的 mysqli(更加安全),它们都是 PHP 函数式编程时代的扩展包,...一般来说,本地 PHP 集成开发环境都会自带 mysqli 扩展: ?...下面我们通过一个简单的示例来演示如何通过 mysqli 扩展与 MySQL 服务器交互。...更多细节,我这里就不一一介绍了,感兴趣的同学可以自行去 PHP 官方文档 查看 mysqli 扩展介绍。...另外,mysqli 扩展也支持面向对象风格,你可以参照官方文档的示例,通过面向对象的风格实现本篇教程的示例代码。
> 从PHP5.0开始就不推荐使用mysql_connect()函数,到了php7.0则直接废弃了该函数,替代的函数是:mysqli_connect(); 2、mysqli(mysql improved...php $conn = mysqli_connect("127.0.0.1", "root", "", "test") or die("Mysql connect error".mysqli_connect_error...()); $res = mysqli_query($conn, "select * from user"); while ($row = $res->fetch_object()) {...> 4、mysql是非持续连接函数而mysqli是永远连接函数。mysql每次连接都会打开一个连接的进程而mysqli多次运行mysqli将使用同一连接进程,从而减少了服务器的开销。...5、由于PDO能够支持其它非MySQL的数据库,而MySQLi专门针对MySQL设计的,所以MySQLi相对于PDO性能稍微好一些。但是PDO和MySQLi都还是没有PHP原生的MySQL扩展快。
PHP中的MySQLi扩展学习(二)mysqli类的一些少见的属性方法 虽说是少见的一些属性方法,但是可能还是有不少同学在日常的开发中使用过,这里只是学习了可能相对来说我们用得比较少的一些 mysqli...就当是扩展一下自己的知识体系。 切换用户 首先就是切换一下当前连接数据库的用户。...$mysqli2 = @new mysqli("xxx", "root", "", "blog_test"); var_dump($mysqli2->connect_errno); // int(2002...mysqli 对象 上面说的很多属性其实我们可以直接通过打印 mysqli 对象就可以查看到。...测试代码: https://github.com/zhangyue0503/dev-blog/blob/master/php/202009/source/5.PHP中的MySQLi扩展学习(二)mysqli
虽说是少见的一些属性方法,但是可能还是有不少同学在日常的开发中使用过,这里只是学习了可能相对来说我们用得比较少的一些 mysqli 的属性或方法。就当是扩展一下自己的知识体系。...通过打印 mysqli 的 error_list 属性就可以看到当前的错误信息。 错误信息 紧接着上一段,对于执行语句的错误信息,我们可以通过几个 mysqli 中的属性来获得。...$mysqli2 = @new mysqli("xxx", "root", "", "blog_test");var_dump($mysqli2->connect_errno); // int(2002...var_dump($mysqli->thread_safe); // NULLvar_dump($mysqli->thread_id); // int(600)$thread_id = $mysqli-...mysqli 对象 上面说的很多属性其实我们可以直接通过打印 mysqli 对象就可以查看到。
对于一个chrome浏览器来说,如果你不装扩展应用,又不能登录,那它的优点连1/3都没有发挥出来。因此,看你的浏览器是否强大,插件功能是一个很大的决定因素。
主要参数介绍: --with-apxs2:这是Apache的一个工具,可以自动帮助我们去把扩展的模块放进Apache里,并且可以自动得在配置文件里添加模块的配置信息,所以这就是为什么要先安装Apache...with-config-file-path:是用于指定配置文件所在路径,PHP的配置文件名称是:php.ini --with-mysql:指定mysql的安装路径;--with-pdo-mysql和--with-mysqli...然后再次执行configure时又出现了一个错误,这次是缺少BZip2包: ? 解决办法,安装BZip2包: ? 这次是缺少了libjpeg包: ?...这一步如果你没有安装epel-release扩展源的话要先安装这个扩展源: yum install -y epel-release 然后再安装libmcrypt包: yum install -y libmcrypt-devel...apache2.4/bin/apxs --with-config-file-path=/usr/local/php7/etc --with-pdo-mysql=/usr/local/mysql --with-mysqli
表示指定它的安装目录 --with-apxs2=/usr/local/apache2.4/bin/apxs //apxs2,它是apache的一个工具,这个工具能让我们不用去人工的干涉它,它可以自动的帮你去把扩展的模块放到...是有区别的,它们两者功能是相同的,目的都是为了让PHP去支持mysql,老版本中使用 --with-mysql,新版本中使用 --with-mysqli ,在PHP7中就不再使用--with-mysql...解决方法: 若没有安装过eprl扩展源,则必须先安装epel-release包——>yum install -y epel-release 再来安装 libmcrypt-devel 包——>yum install...local/php/bin/php [root@hf-01 php-5.6.30]# 查看/usr/local/apache2.4/modules/libphp5.so文件大小 这个就是我们想要的扩展模块...-01 php-5.6.30]# PHP是作为Apache的模块存在的 查看Apache的模块 可以看到最下方的 php5_module (shared) ,这个说明php是做为httpd 的一个扩展模块形式存在的
2、Phpcms 虽然phpcms在2020年关站了,真心很遗憾,但是不妨碍phpcms是一款很优秀的cms系统,PHPCMS的后台界面最为美观,很有大型门户后台的风范,对数据控制能力比很多cms强很多...,和pageadmin一样,可以做到自定义字段都是搜索条件,而且速度快,后台的数据控制灵活性Phpcms比dedecms强很多,phpcms曾经是小编最常用的cms系统。...小编认为很多人欠dedecms一个授权费,dedecms拥有庞大的用户基数,但是最后一样摆脱不了团队解散,产品停止更新,一个最重要问题就是没有人愿意花钱购买授权,都喜欢白嫖, 导致产品缺少变现能力,团队无法维持