php+mssql 和 php+mysql 优点缺点
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php+mssql 和 php+mysql 优点缺点相关的知识,希望对你有一定的参考价值。
我以前经常用mssql数据库,因为同在学php了,感觉mysql操作不方便,不像mssql操作那么简单,所以还用mssql+php组合。因为现在php+mysql是最佳组合,php+mysql和mssql+php优缺点是什么?我只知道php+mysql可以在linux下运行,mssql+php只有在winndows运行。
一、PHP+MySql优点:
1) MySql是一个快速、多线程、多用户的SQL数据库服务器。
2) MySql的核心程序采用完全的多线程编程。
3)MySql可运行在不同的操作系统下。
4) MySql有一个非常灵活而且安全的权限和口令系统。
5) MySql支持ODBC for Windows。
6)MySql支持大型的数据库。
7) MySql拥有一个非常快速而且稳定的基于线程的内存分配系统,可以持续使用面不必担心其稳定性。
8) 强大的查询功能。
9)PHP为MySql提供了强力支持,PHP中提供了一整套的MySql函数,对MySql进行了全方位的支持。
缺点:
比较的难学;
MySQL不完全支持陌生的关键词;
MySQL也缺乏一些存储程序的功能;
使用缺省的ip端口,但是有时候这些ip也会被一些黑客闯入;
使用myisam配置,如果你不慎损坏数据库,结果可能会导致所有的数据丢失;
二、PHP+MsSql
优点:
上手容易; 兼容性良好; 利于构筑"敏捷性商务";
缺点:
只能在windows 上运行,没有丝毫的开放性,操作系统的系统的稳定对数据库是十分重要的。
并行实施和共存模型并不成熟。很难处理日益增多的用户数和数据卷。伸缩性有限;
安全性方面,没有获得任何安全证书;
客户端支持及应用模式 ,是C/S结构,只支持windows客户,可以用ADO, DAO,OLEDB,
ODBC连接;
不是免费的;
数据不容易恢复; 参考技术A 对经销商来说,MySql是免费的,而MsSql是收费的,所以一般提供MySql的多。
MySql是英文的,MsSql有中文版,所以MsSql用起来方便。
MySql一般是在线上调试,MsSql可以离线调试。本回答被提问者和网友采纳 参考技术B 傻子才用mssql配php
IIS 上的 MSSQL 和 PHP 5.3.5 之间的连接不起作用
【中文标题】IIS 上的 MSSQL 和 PHP 5.3.5 之间的连接不起作用【英文标题】:Connection between MSSQL and PHP 5.3.5 on IIS is not working 【发布时间】:2011-03-24 20:47:35 【问题描述】:我最近安装了 IIS、PHP 5.3.5 和 MySQL,并且一切正常。
然后我也需要 MS SQL,而我认为这将是一件容易的事,现在让我发疯了,我不知道如何使它工作。
根据php_info()
,MS SQL 驱动程序没有加载。
我下载了php_mssql.dll
并在php.ini
中启用了它,但它不起作用。我发现新版本的 PHP 使用了不同的 dll。所以我下载了新的,把它放在 ext 文件夹中,并更新了php.ini
,但还是不行。
php_info()
仍然没有显示驱动程序已加载。
我即将卸载IIS和PHP,并安装我之前安装的Apache。
这个问题是我最后一次尝试,有人可以帮忙吗?
【问题讨论】:
仅仅抓取 DLL 文件是不够的——你是否还要修改php.ini
来加载它们?
是的,我修改了 php.ini 文件并重新启动了 IIS。我尝试了 php_mssql.php 和 php_sqlsrv_53_nts_vc9.dll。
您是否修改了正确的php.ini
文件?它应该在phpinfo
页面中列出正确的文件名。
我假设您使用的是 FastCGI,对吧? IIS 在重新启动期间是否会关闭外部 FastCGI 位?我在这里抓住了稻草......
Ops...我正在使用 FastCGI,我尝试重新启动 IIS 并停止并重新启动,以及重新启动计算机。
【参考方案1】:
这是我不久前写的客户常见问题解答中的一个 sn-p,以帮助我们的专用托管客户启动 PHP 并使用 MS SQL 驱动程序运行。它可能会复制上面 cmets 中已经传授的一些知识,但它的完整性也可以帮助其他人从头开始:
注意:很明显,自从我写这篇文章以来,PHP 版本号已经发生了一些变化,但一般原则仍然适用。
安装先决条件: Microsoft Drivers for PHP for SQL Server 需要 SQL Native Client:
Microsoft SQL Server 2008 R2 Native Client X64 - for 64 bit Windows 或Microsoft SQL Server 2008 R2 Native Client X32 - for 32 bit Windows
下载并安装与您的系统匹配的 Native Client 驱动程序。
PHP MS SQL 驱动程序:
下载 Microsoft Drivers for PHP for SQL Server:
Microsoft Drivers for PHP for SQL Server
该文件是一个自解压的可执行文件,因此只需使用 7zip 或 WinRAR 并将文件解压到您选择的文件夹中。我们现在需要决定选择哪个驱动程序来匹配您的 PHP 安装。
PHP 5.3.5 有四种不同的风格:
PHP 5.3.5 非线程安全 VC9 PHP 5.3.5 非线程安全 VC6 PHP 5.3.5 线程安全 VC9 PHP 5.3.5 线程安全 VC6要知道您安装了哪个版本,请打开与php.exe
、php-cgi.exe
等位于同一文件夹中的snapshot.txt
文件。不要使用notepad.exe,因为该文件仅使用换行符(\n
) 用于开头的行结束(unix 格式),记事本将这些修改为一行。
在文件中,您将看到一行(在第 6 行附近,或在您使用记事本的第 1 行中间附近)开头:Build:
:
这告诉我们您正在运行的 PHP 版本。
从您提取 MS SQL PHP 驱动程序的文件夹中,选择与正在使用的 PHP 版本匹配的驱动程序(如果您不使用 PDO,则无需复制 php_pdo_
驱动程序) :
假设您的 PHP 安装在 C:\PHP
中,请将这些文件复制(不要移动)到您的 C:\PHP\EXT
文件夹中。
打开C:\PHP\PHP.INI
并找到文件的Dynamic Extensions
部分并添加:
最后,为了确保 PHP 可以找到这些扩展,请确保 C:\PHP\PHP.INI
中的 extension_dir
指令设置为 C:\PHP\EXT
:
重启 IIS 并调用phpinfo()
。如果一切顺利,您应该会看到:
如果您还加载了 PDO 驱动程序,您应该会看到:
【讨论】:
太棒了,谢谢。这是否意味着 mssql_ 函数不再可用?? @Naner - 谢谢:)。是的,您需要改用sqlsrv_
函数,它几乎映射到 mssql_
函数,但有一些区别:msdn.microsoft.com/en-us/library/cc296152.aspx
我应该如何在 linux 上设置这个 sqlsrv 驱动程序?请在下面的链接中找到我的答案,请给我必要的建议。***.com/questions/11839368/…
@KusH - 上述驱动程序仅适用于 Windows。老实说,我从来没有在 Unix 上从 PHP 访问 MS SQL 的用例。你可以看看:***.com/questions/3684782/… 看看是否有帮助。
@hotohoto 没试过,但我猜是这样。问题往往在于 PHP 驱动程序落后于 PHP 版本。【参考方案2】:
以上提到的:
extension=php_sqlsrv_53_nts_vc9.dll extension=php_pdo_sqlsrv_53_nts_vc9.dll
我发现的不正确。
因此,很可能是:
extension=php_sqlsrv_53_ts_vc9.dll
extension=php_pdo_sqlsrv_53_ts_vc9.dll
【讨论】:
以上是关于php+mssql 和 php+mysql 优点缺点的主要内容,如果未能解决你的问题,请参考以下文章
linux编译安装mssql客户端和配置php连接mssql
Mssql 2012 与 PHP & Mysql 到 Mssql 迁移