PHP 几乎可以使用现有的所有的数据库,MySQL 与其他的大型数据库例如 Oracle、DB2、SQL Server 等相比,自有它的不足之处,比如规模小、功能有限(MySQL Cluster 的功能和效率都相对比较差)等,但这也丝毫没有减少它受欢迎的程度。 对于一般的个人使用者或者中小型企业来说,MySQL 提供的功能已经绰绰有余,而且由于 MySQL 是开放源码软件,因此可以大大降低总体拥有成本。
目前 Internet 上流行的网站构架方式分别是 LAMP(Linux + Apache + MySQL + PHP/Perl/Python)和 LNMP(Linux + Nginx + MySQL + PHP/Perl/Python),也就是使用 Linux 作为操作系统,Apache 和 Nginx 作为 Web 服务器,MySQL 作为数据库,PHP 作为服务器端脚本解释器。由于这四个软件都是免费或开放源码软件,因此使用这种方式不用花一分钱(除开人工成本外)就可以建立起一个稳定、免费的网站系统。
PHP 和 MySQL 的合作方式
在同一个 MySQL 数据库服务器中可以创建多个数据库,如果把每个数据库看成是一个“仓库”,那么网站中的内容数据就存储在这个仓库中。而对数据库中数据的存取及维护等,都是通过数据库管理系统软件进行管理的。
同一个数据库管理系统可以为不同的网站分别建立数据库,但为了使网站中的数据便于维护、备份及移植,最好为一个网站创建一个数据库(在大数据量时则采用分库分表)。数据库和数据库管理系统,以及 PHP 应用程序之间的关系如下图所示。