PHP是一种常用的脚本语言,可以用来开发动态网站、Web应用程序和Web服务。它可以嵌入HTML中,也可以作为CGI执行,更可以与其他Web开发技术,例如MySQL等配合使用。而Apache是开源的Web服务器软件,它是世界上使用最广泛的Web服务器软件之一。本文将介绍PHP和Apache的基本架构以及如何配合使用。首先,我们来了解一下PHP的架构。PHP有两种运行方式,一种是通过CGI运行,一种是通过模块的方式嵌入到Web服务器中。我们来看一下使用CGI方式运行PHP的示例。我们在Linux系统下创建一个index.php文件,内容如下:
#!/usr/bin/php-cgiContent-type: text/html;charset=utf-8
上述代码中,第一行的“#!/usr/bin/php-cgi”表示使用php-cgi来运行PHP。第二行设置Content-type为“text/html;charset=utf-8”,表示输出的内容是HTML格式的,并且编码为UTF-8。在其中,我们使用了echo函数输出了一句话“Hello, world!”。我们给这个文件授予可执行权限,即执行“chmod +x index.php”。然后,在终端执行“./index.php”,就可以看到输出了“Hello, world!”的HTML页面。接下来,我们来看看如何在Apache中使用PHP。假设我们已经安装了Apache和PHP的模块,并配置好了Apache的虚拟主机。我们在虚拟主机的网站目录下创建一个index.php文件,内容如下:
此时,我们在浏览器中访问该网站,就可以看到输出了“Hello, world!”的页面。Apache的配置文件中,需要新增以下内容来启用PHP的模块:
LoadModule php5_module modules/libphp5.soAddHandler php5-script .php
其中,php5_module是PHP的Apache模块名称,而libphp5.so是PHP的二进制模块文件。AddHandler指令指定了如何处理以.php结尾的文件。值得注意的是,如果我们要在PHP脚本中访问MySQL数据库,需要安装PHP的MySQL扩展模块。我们可以通过执行“apt-get install php5-mysql”(ubuntu系统)来安装它。安装完成后,我们可以使用如下代码来访问MySQL数据库:
$conn = new mysqli('localhost', 'user', 'password', 'database');$result = $conn->query('select * from table');while($row = $result->fetch_assoc()){echo 'name: '.$row['name'].' age: '.$row['age'].'
';}$conn->close();
上述代码中,我们使用了mysqli扩展模块来连接MySQL数据库,并使用query函数执行查询命令,然后使用fetch_assoc函数获取查询结果的每一行,最后使用echo输出。综上所述,PHP、CGI和Apache是开发Web应用程序时常用的技术,了解它们的架构和使用方式对于Web开发人员非常重要。同时,学习如何将它们配合使用,可以更高效地开发Web应用程序。