Web Apache、PHP和MySQL如何协同工作?

Web Apache、PHP和MySQL如何协同工作?,web,Web,这是我正努力想弄明白的事情 好的,Apache只是将web服务器上的文件发送给客户端。我完全理解这一点。但是,如果安装PHP,PHP代码会在Apache提供这些文件之前被解释。然后你安装了MySQL,突然间PHP就可以直接使用MySQL了 在安装过程中,到底做了什么使这三件事能够如此紧密地结合在一起?如果Apache和PHP是两个独立的程序,那么它们如何在提供文件时一起工作?不会突然发生任何事情 要使PHP在Windows上使用Apache,需要在httpd.conf中添加以下行: LoadMo

这是我正努力想弄明白的事情

好的,Apache只是将web服务器上的文件发送给客户端。我完全理解这一点。但是,如果安装PHP,PHP代码会在Apache提供这些文件之前被解释。然后你安装了MySQL,突然间PHP就可以直接使用MySQL了


在安装过程中,到底做了什么使这三件事能够如此紧密地结合在一起?如果Apache和PHP是两个独立的程序,那么它们如何在提供文件时一起工作?

不会突然发生任何事情

要使
PHP
在Windows上使用
Apache
,需要在
httpd.conf
中添加以下行:

LoadModule php5_module "c:\php\php5apache2_2.dll"
PHPIniDir 'c:\php'
AddHandler application/x-httpd-php .php
(这只是参考我的设置)然后重新启动Apache以开始服务PHP请求

PHP
附带了
Mysql
扩展来处理
Mysql请求
。现在我们有了
PDO/Mysqli
扩展来(a)避免SQL注入(b)更有效地处理请求。但是,正如我上面提到的,没有任何事情是自动发生的,您必须取消对
php.ini
中以下行的注释,才能使这些扩展中的任何一行适合您:

extension=php_mysqli.dll
extension=php_pdo_mysql.dll
(再次参考我在windows上的php.ini)

希望有帮助


谢谢,PHP是一种处理HTTP请求的服务器端编程语言。它功能齐全,提供了许多有用的功能。尝试一些教程,您将很快准备好使用它

HTTP请求包括:

  • GET-允许您从存储数据的位置读取数据。这通常通过数据库(MySQL)查询完成
  • POST-用于发布用户数据,通常来自HTML表单。PHP允许您访问这个全局变量$\u POST['example'],并将其存储在数据中
  • PHP基本上允许您使用数据库创建、读取、更新、销毁(CRUD)

    在安装过程中,到底做了什么使这三件事能够如此紧密地结合在一起?如果Apache和PHP是独立的程序,那么它们如何在服务文件方面协同工作


    他们一起工作是因为你允许他们这样做。在php脚本中,必须先连接到sql数据库,然后才能使用该数据库。在php文档中查找“mysqli_connect()”。HTML页面通常通过用户输入表单调用PHP脚本。这样在提交时,您就可以添加到数据库中。但它们必须位于同一服务器和域上!所有编程的位置仍然相同。

    谢谢!但是我已经对PHP有了很好的理解。我更困惑的是它是如何与Apache协同工作的。它基本上是在页面提供之前,或者当用户要求它从用户输入中访问时,与web服务器进行通信。它允许您从数据库请求。假设你有一个链接。但不是静态链接。说一个帖子。那篇文章有一个ID。如果你删除那篇文章。链接现在到哪里去了?它将以id 1发送到post。现在帖子已经不存在了……使用php,您可以将活动帖子存储在数据库中。因此,当用户点击一个链接时,它就会转到带有相关信息的帖子。这是一个动态链接。根据需要进行更改。与静态link不同,PHP通过HTTP verbs.GET/POST与apache一起工作