使用tp访问数据库时提示错误: 'PDO' not found, 和not defined constant mysql_attr_init_command 和call an undefined fu

第一个问题: PDO not found 是由于 php没有安装pdo扩展, 没法提供给 php 以 数据库访问功能, 因此 报错是在文件: Think/Db.class.php的里面.

解决方法是: 给 php安装 PDO 扩展: dnf install php-pdo 这时 再看 就能够 在 默认 自动 加载的modules目录 中 看到: /usr/lib/php/modules pdo.so这个共享库php

安装好 pdo后, 又出现了 没有定义 mysql_attr_init_command 这个常量的错误, 是由于 虽然php能够访问数据库了, 可是默认的只提供了 pdo_mysqli.so的访问接口, 没有提供 访问 mysql的接口, 因此 这个时候, 还要 安装 php访问 mysql数据库的 动态连接库: 是 php-mysqlnd 这个包:

dnf install php-mysqlnd 其中 mysqlnd: 是 mysql native driver (mysql数据库的 本地驱动)
这个包提供了 mysql.so, mysqlnd.so, pdo_mysql.so 三个共享库.
这样 就能够让 php access and manipulate mysql database了.mysql

Mysql Native驱动(Mysql Native Driver 简称:mysqlnd )在PHP5.3.0版本中被引入。PHP5.4以后的版本mysqlnd被做为默认配置选项。 由zend 公司开发的MySQL数据库驱动,采用PHP开源协议(即 PHP license)避免了任何可能存在的版权问题。mysqlnd提供了和Zend引擎高度的集成性,更加快速的执行速度,更少的内存消耗,利用了PHP的Stream API,以及客户端缓存机制。因为mysqlnd是透过Zend引擎,所以提供更多高级特性,以及有效利用Zend进行加速。
参考: https://blog.csdn.net/misakaqunianxiatian/article/details/52079918sql

tp3.2.3 在使用 include 包含语句, 包含模块的时候, 提示: Call to undefined function Think\simplexml_load_string()?

是由于php没有安装 相应的模块去访问 xml. 因此须要 安装 php-xml模块.
dnf install php-xml 而后从新启动httpd服务.数据库

安装好这些后, 要重启httpd服务!

相关文章
相关标签/搜索