在MySQL Linux服务器上安装PDO驱动程序

2020/10/08 14:01 · php ·  · 0评论

不久前,有人建议我更改代码以使用PDO,以参数化查询并安全地将HTML保存在数据库中。

好吧,这是主要问题:

  1. 我看了http://php.net/manual/en/ref.pdo-mysql.php,但我并没有真正知道应该把那个$ ./configure --with-pdo-mysql字符串放在哪里...

  2. 我正在构建的网站实际上只需要一页PDO。虽然我可能会考虑重新编写它,但要花一些时间,而且我需要页面尽快运行,因此无法完全关闭MySQL。如果我确实安装了PDO,是否仍可以使用mysql_*处理程序?

该服务器正在运行PHP版本5.4.6-1ubuntu1和Apache / 2.2.22(Ubuntu)。如果重要的话,我也正在运行phpMyAdmin数据库。

在Ubuntu上,您应该能够使用以下命令从apt安装必要的PDO部件 sudo apt-get install php5-mysql

同时使用PDO和mysql_没有限制。但是,您将需要创建到数据库的两个连接,一个使用mysql_,另一个使用PDO。

这是一个很好的问题,但我认为您只是误解了所读内容。

安装PDO

./config --with-pdo-mysql是你必须把东西只有当你编译自己的PHP代码。如果用包管理器安装它,你只需要使用由Jany Hartikainen给出的命令行:sudo apt-get install php5-mysqlsudo apt-get install pdo-mysql

与mysql_的兼容性

除了实际上不鼓励使用mysql_之外,它们都是独立的。如果使用PDO,则不牵涉mysql_,如果使用mysql_,则不需要PDO。

如果在不更改代码任何行的情况下关闭PDO,则不会有问题。但是,由于您开始使用PDO连接并编写查询,因此您必须保留它并放弃mysql_。

几年前,MySQL团队发布了一个脚本以移植到MySQLi我不知道它是否可以定制,但这是官方的。

基本上,Jani Hartikainen的答案是正确的!我支持他的回答。我的系统(基于Ubuntu 15.04)缺少的是在php.ini中启用PDO扩展

extension=pdo.so
extension=pdo_mysql.so

重新启动Web服务器(例如,使用“ sudo service apache2 restart”)->一切正常:-)

要查找当前活动的php.ini文件所在的位置,可以使用phpinfo()或来自此处的其他一些提示:https : //www.ostraining.com/blog/coding/phpini-file/

首先,通过运行以下命令安装必需的PDO部件,sudo apt-get install php*-mysql其中*是php的版本名称,例如5.6、7.0、7.1、7.2,安装后,您需要提及(如果已经存在,请取消注释)这两个语句

extension=pdo.so
extension=pdo_mysql.so

在您的.ini文件中,然后通过命令重新启动服务器

sudo service apache2 restart
  1. PDO代表PHP数据对象。
  2. PDO_MYSQL是驱动程序,它将实现数据对象(数据库)与访问您的数据对象MySQL数据库的用户输入(用户界面下的一层,称为“代码背后”)之间的接口。

使用此功能的目的是在用户界面和数据库之间实现附加的安全层。通过使用此层,可以在将数据插入数据结构之前对其进行标准化。(大写字母是大写字母,没有前导或尾随空格,所有日期都格式正确。)

但是您可能不知道有一些细微差别。

首先,到目前为止,您可能已经用类似URL的形式编写了所有查询,然后使用URL本身传递了参数。使用PDO,所有这些操作都在用户界面级别完成。用户界面将球传给PDO,PDO将其向下传播并植入数据库以进行7点TOUCHDOWN。他获得7分,因为他到达了那里,并且比通过URL传递信息更安全。 。

您还可以使用数据层将站点加固为SQL注入通过使用这个中间层,它是与数据库本身进行对话的唯一“玩家”,我相信您可以看到它如何更加安全。数据层到数据库的接口,数据层到数据库到数据层的接口。

和:

通过在编写代码时实施最佳实践,您将对结果更加满意。

其他来源:

回复:URL php中的MySQL函数dot net / manual / en / ref dot pdo-mysql dot php

回复:三层架构-为您的应用程序增加安全性
https://blog.42.nl/articles/introducing-a-security-layer-in-your-application-architecture/

回复:使用UML进行面向对象的设计如果您真的想了解更多有关这方面的知识,这是市场上最好的书,格雷迪·布奇(Grady Booch)是UML之父
http://dl.acm.org/citation.cfm?id=291167&CFID = 241218549&CFTOKEN = 82813028

或与bitmonkey检查。我相信那里会有一个小组,您可以从中学到很多。

>

如果我们知道术语的真正含义,那么我们就不需要学习任何东西。

>

如果您需要一个带有MySQL的CakePHP Docker容器,我已经为此创建了一个Docker映像!无需担心进行设置。就是这样!

这是我在基于Ubuntu的映像中安装的方式:

https://github.com/marcellodesales/php-apache-mysql-4-cakephp-docker/blob/master/Dockerfile#L8

RUN docker-php-ext-install mysql mysqli pdo pdo_mysql

构建和运行您的应用程序只是一个两步过程(考虑到您位于应用程序的当前目录中):

$ docker build -t myCakePhpApp .
$ docker run -ti myCakePhpApp
本文地址:http://php.askforanswer.com/zaimysql-linuxfuwuqishanganzhuangpdoqudongchengxu.html
文章标签: ,   ,   ,   ,  
版权声明:本文为原创文章,版权归 admin 所有,欢迎分享本文,转载请保留出处!

文件下载

老薛主机终身7折优惠码boke112

上一篇:
下一篇:

评论已关闭!