Php 在MySQL Linux服务器上安装PDO驱动程序
不久前,有人建议我将代码改为使用PDO,以便参数化查询并在数据库中安全地保存HTML 那么主要的问题是:Php 在MySQL Linux服务器上安装PDO驱动程序,php,mysql,pdo,phpmyadmin,installation,Php,Mysql,Pdo,Phpmyadmin,Installation,不久前,有人建议我将代码改为使用PDO,以便参数化查询并在数据库中安全地保存HTML 那么主要的问题是: 我看了一下,我真的不知道应该把它放在哪里,$./configure——使用pdo mysqlstring 我正在构建的站点实际上只需要一个页面的PDO。虽然我可以考虑重新编写它,但这需要一段时间,我需要页面运行得很快,所以我不能完全关闭MySQL。如果我安装了PDO,我还能够使用mysql.*处理程序吗 该服务器正在运行PHP版本5.4.6-1ubuntu1和Apache/2.2.22(Ub
$./configure——使用pdo mysql
stringmysql.*
处理程序吗该服务器正在运行PHP版本5.4.6-1ubuntu1和Apache/2.2.22(Ubuntu)。如果有必要的话,我也在运行phpMyAdmin数据库。在Ubuntu上,您应该能够使用
sudo apt get install php5 mysql从apt安装必要的PDO部件
同时使用PDO和mysql之间没有限制。但是,您需要创建两个到数据库的连接,一个使用mysql,另一个使用PDO。这是一个好问题,但我认为您误解了所读内容
安装PDO
/config--with-pdo-mysql
只有在编译自己的PHP代码时才需要使用。如果使用软件包管理器安装,只需使用Jany Hartikainen给出的命令行:sudo apt get install php5 mysql
以及sudo apt get install pdo mysql
与mysql的兼容性_
除了mysql确实令人沮丧之外,他们都是独立的。如果使用PDO,则不涉及mysql,如果使用mysql,则不需要使用PDO
如果您关闭PDO而不更改代码中的任何行,您将不会有问题。但是由于您开始使用PDO连接和编写查询,因此必须保留它并放弃mysql
几年前,MySQL团队发布了一个脚本。我不知道是否可以定制,但这是官方的
PDO代表PHP数据对象
PDO_MYSQL是一个驱动程序,它将实现dataobject(数据库)和访问数据对象MYSQL数据库的用户输入(用户界面下的一层称为“代码隐藏”)之间的接口
使用它的目的是在用户界面和数据库之间实现额外的安全层。通过使用该层,可以在将数据插入数据结构之前对其进行规范化。(大写字母是大写字母,没有前导空格或尾随空格,所有日期的格式正确。)
但是有一些细微的差别你可能没有意识到
首先,到目前为止,您可能已经用类似于URL的方式编写了所有查询,并使用URL本身传递参数。使用PDO,所有这些都是在用户界面级别下完成的。用户界面将球交给PDO,PDO将球带到球场,并将球植入数据库,以获得7分触地得分。。他得了7分,因为他拿到了,而且比通过URL传递信息安全得多
您还可以通过使用数据层将站点硬化为。通过使用这个中间层,这是唯一一个与数据库本身对话的“玩家”,我相信您可以看到这是如何更加安全的。接口到数据层到数据库,数据层到数据库到数据层到接口
以及:
通过在编写代码的同时实现最佳实践,您将对结果更加满意
其他来源:
Re:url中的MySQL函数php.net/manual/en/ref.pdo MySQL.php
回复:三层体系结构-为应用程序增加安全性
Re:使用UML的面向对象设计
如果你真的想了解更多,这是市场上最好的书,Grady Booch是UML之父
或者和比特猴子核实一下。那里有一个小组,我相信你可以和他们一起学到很多东西
>
如果我们知道术语的真正含义,我们就不需要学习任何东西。
>如果您需要一个带有MySQL的CakePHP Docker容器,我已经为此创建了一个Docker映像!不必担心设置它。它只是工作
- GitHub:
- DockerHub:
下面是我如何在基于Ubuntu的映像中安装的:
构建和运行应用程序只需两个步骤(考虑到您位于应用程序的当前目录中):
Jani Hartikainen的答案基本上是正确的!我对他的回答投了赞成票。
我的系统(基于Ubuntu 15.04)缺少的是在php.ini中启用PDO扩展
extension=pdo.so
extension=pdo_mysql.so
重新启动Web服务器(例如,使用“sudo service apache2 restart”)
->每项罚款:-)
要查找当前活动php.ini文件的位置,可以使用phpinfo()或此处的其他提示:首先通过运行命令安装必要的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
好的,我在我的php.ini文件中查找到,默认情况下pdo处于启用状态,我仍然需要知道我是否可以同时使用pdo和mysql_*处理程序…@YuriCollector'sEditionRossi更新了答案。值得一提的是,您需要在之后重新启动apache才能应用更改。@jonapas如果您在ubuntu上,尝试使用sudo apt get update更新,然后根据答案运行原始安装。谢谢ryAn_Hdot!但这对我也不起作用。我现在的解决方案是:我运行的是php7,我必须执行sudo apt get install php mysql
,所以如果我想同时使用这两种连接方法,我必须同时使用这两种连接方法?我的意思是:我已经有50个页面在运行了,有很多代码,花了一年的时间开发,我无法回头
extension=pdo.so
extension=pdo_mysql.so
sudo service apache2 restart