linux安装mysqlnd

本文介绍在PHP环境下,如何避免从MySQL数据库读取的int类型数据被自动转换为string类型。通过PDO和MYSQLI两种方式,设置属性以保持数据原始类型,适用于php7.0及以上版本。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在使用php获取mysql数据时发现,mysql中存储的字段类型是int, php输出后全部自动转为了string

php7.0版本已移除mysql扩展,连接mysql需使用pdo或mysqli

PDO中解决方案

$pdo = new PDO('mysql:host=localhost;dbname=aaa', 'root', '');
$pdo->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);	//告诉mysql不要进行转换
$pdo->setAttribute(PDO::ATTR_STRINGIFY_FETCHES, false);	//告诉php不要进行转换
foreach ($pdo->query('select * from bbb') as $row) {
var_dump($row);

MYSQLI中解决方案:

$mysqli->setAttribute(PDO::ATTR_STRINGIFY_FETCHES, FALSE);	//告诉php不要进行转换

Yii2中设置db组件:
在这里插入图片描述
如果没有生效请检查PHP扩展中是否有mysqlnd,没有的话自行安装
在这里插入图片描述
在这里插入图片描述
centos下安装mysqlnd
1、如果之前安装过php-mysql扩展,则需要先卸载php-mysql,因为在安装php-mysqlnd的时候,否则会有冲突:

yum remove php-mysql	//删除原先的php-mysql扩展
yum install php-mysqlnd //安装php-mysqlnd

安装完成重启后查看php -m 是否已有扩展

### 如何在Linux上逐步安装PHP 5.6 要在Linux系统上安装PHP 5.6,可以按照以下方法操作。此过程适用于大多数基于Red Hat的发行版(如CentOS或RHEL),并假设您已经具备基本的Linux管理技能。 #### 准备环境 首先,确保您的服务器已更新到最新状态,并安装必要的开发工具包: ```bash sudo yum update -y sudo yum groupinstall "Development Tools" -y ``` 接着,安装一些依赖项以便编译和运行PHP: ```bash sudo yum install gcc gcc-c++ wget bison mysql-devel mysql-server php php-mysql php-pear php-pear-DB php-mbstring \ [^2] ``` #### 添加第三方仓库 由于默认的Yum仓库可能不提供PHP 5.6版本,因此需要添加支持该版本的第三方仓库,例如Remi Repository: ```bash sudo rpm -Uvh https://rpms.remirepo.net/enterprise/remi-release-7.rpm ``` 启用特定于PHP 5.6的存储库: ```bash sudo yum-config-manager --enable remi-php56 ``` 验证是否成功启用了正确的存储库: ```bash yum repolist enabled | grep remi ``` #### 安装PHP 5.6及其扩展 现在可以从新配置的存储库中安装PHP 5.6以及常用的模块: ```bash sudo yum install php php-cli php-common php-fpm php-gd php-json php-mcrypt php-mysqlnd php-opcache php-soap php-xml php-zip -y ``` 确认安装完成后的PHP版本号: ```bash php -v ``` 如果一切正常,则应显示如下信息: ``` PHP 5.6.x (cli) (built: ...) Copyright ... ``` #### 配置Web服务器以支持PHP 如果您正在使用Apache作为Web服务程序,请执行以下命令来加载`mod_php`模块: ```apache LoadModule php5_module modules/libphp5.so AddType application/x-httpd-php .php ``` 重启HTTPD服务使更改生效: ```bash sudo systemctl restart httpd.service ``` 测试页面可以通过创建文件 `/var/www/html/info.php` 来实现,其内容为标准 `<?php phpinfo(); ?>` 脚本。访问URL路径中的这个脚本即可查看详细的PHP设置情况。 --- ### 注意事项 尽管上述步骤涵盖了大部分场景下的需求,但在某些特殊情况下仍需额外调整参数或者解决兼容性问题[^1]。此外,在尝试修补实时操作系统内核时遇到困难的情况也值得注意[^3];不过这通常涉及更复杂的底层技术领域而非单纯的应用层部署工作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值