PHP编程
原理
由于 PHP 是一种服务器端技术,你自然需要投入一些时间来为生产、开发或学习环境设置服务器。坦率地说,与 J2EE 等复杂技术相比,PHP 的设置相对简单。
然而,由于 Web 服务器、PHP 和数据库(通常是 MySQL)的不同版本组合,设置过程会变得复杂。因此,在学习过程中,你可以通过 http://phpfiddle.org/ 或 https://thewaytolearn.cn 执行一些命令,而无需安装任何东西。
下面我们将介绍在本机上设置带 MySQL 数据库的 PHP 工作环境所需的步骤。
Linux上的 PHP
如果你的桌面操作系统是 Linux,那么 Apache、PHP 和 MySQL 可能已经为你预先安装好了。这种非常流行的配置通常被称为 LAMP,即 Linux、Apache、MySQL 和 PHP,或者 P 也可以指代 Perl,Perl 是开源 Web 服务领域的另一个重要工具。如果某些组件没有安装,你可能需要手动安装以下软件包:
- Apache 或 Lighttpd
- PHP
- MySQL 或 Postgres
- 数据库的 PHP 集成插件
对于 Debian 或其衍生版本(包括 Ubuntu),你可以使用相应的命令:
PHP 安装
apt-get install php5
服务器配置
如果你想使用 Apache
apt-get install apache2 libapache2-mod-php5
a2enmod php5
service apache2 restart
或者,如果你想使用 Lighttpd
apt-get install lighttpd php5-cgi
lighttpd-enable-mod fastcgi fastcgi-php
service lighttpd restart
数据库配置
如果你想使用 Postgres
apt-get install postgres-server postgres-client php5-pg
或者,如果你想使用 MySQL
apt-get install mysql-server mysql-client php5-mysql
如果你选择在 Ubuntu 上使用 Apache 和 MySQL,你可以参考 Ubuntu 社区网站上的配置说明:Ubuntu LAMP wiki.
Gentoo
对于 Gentoo Linux 用户,gentoo-wiki 提供了一个关于如何配置 Apache2 与 PHP 和 MySQL 的教程。
在 Gentoo 中,通常你需要执行以下命令:
emerge apache
emerge mysql
emerge mod_php
RPM-based 系统
根据你的 Linux 发行版,具体的操作步骤会有所不同。以 Fedora 系统为例,通常使用以下命令:
yum install httpd
yum install php
yum install mysql
yum install php-mysql
由于这里无法涵盖所有的变种,建议查阅你的 Linux 发行版手册,或者请朋友帮忙配置。
通过源代码编译 PHP
一种确保 PHP 运行在你的 *nix 系统上的方法是从源代码编译。这个过程并不复杂,PHP 官方文档提供了详细的说明。
Windows 上的 PHP
PHP 在 Windows 上也是非常流行的选项。在 Windows 平台上,你可以选择使用开源的 Apache Web 服务器,或者使用微软的原生 Internet Information Services (IIS) 服务器,IIS 可以通过在“开始菜单”或控制面板中搜索“打开或关闭 Windows 功能”(Windows 7、8、10),或者通过 Windows CD 在旧版安装中找到。
安装完服务器后,你可以从 PHP 下载页面下载并安装相应的 PHP Windows 二进制分发包。安装程序版本需要的用户交互较少。
为了提高性能,建议使用 FastCGI。关于如何在 IIS 上设置 FastCGI,可以参考相关的 wikibook。
数据库
在 Microsoft Windows 上,你需要自行安装数据库。
一些流行的选择包括开源的 Postgres、SQLite 和 MySQL。Postgres 和 SQLite 的许可证更宽松,允许用于商业目的。SQLite 是一个嵌入式数据库,类似于 Microsoft Access,它和应用程序在同一服务器上运行,而 MySQL 和 Postgres 通常作为数据库服务器,可以被多个机器同时连接。
PostgreSQL
官方 Zend 文档:PostgreSQL
Postgres 安装简单易行,访问 PostgreSQL 官方页面,下载 exe 文件并双击安装即可。
MySQL
官方 MySQL 文档:MySQL
你可能会想安装 MySQL 数据库。你可以下载 MySQL 的 Windows 版本并按照安装说明进行安装。如果你使用的是 PHP 4,Windows 版本的 PHP 已经内置了 MySQL 支持,无需安装类似于 Linux 上的 php-mysql
。在 PHP 5 中,你需要在 php.ini
文件中取消注释(即去掉行首的“;”):
;extension=php_mysql.dll
捆绑包
如果你觉得以上步骤太麻烦,还有一个简单的选择。有多个方便的 AMP(Apache + MySQL + PHP)捆绑包可以在网上找到,其中一个是 PHPTriad,或者你可以尝试 Uniform Server,它是一个小型的 WAMP 包(WAMP 指的是 Windows 操作系统上,Apache 作为 Web 服务器,MySQL 处理数据库组件,PHP、Python 或 PERL 作为动态脚本语言)。Uniformserver 是一个自解压的 zip 压缩包,使用非常方便。试用后,你可以简单地删除目录,所有内容都会被清除。XAMPP for Windows 也是另一个易于使用的 WAMP 服务器,此外,它还有一个安装选项,可以在你拥有管理员权限的计算机上进行安装。XAMPP 还提供 PERL 和 JAVA(通过 Tomcat 服务器)的运行选项。其他一些便携式 Windows AMP 包的选择可以参见 List of portable Web Servers。
另外,还有一个名为 WAMPserver 的包安装器。它可以轻松地在 Windows 上安装 Apache、PHP 和 MySQL。
Windows 简易设置指南
- PHP 编写环境
任何文本编辑器都可以使用,但我推荐使用带有语法高亮功能的编辑器,尤其是对于初学者来说。VS code 是我目前最喜欢的编辑器,它易于使用、可自定义,并且支持折叠标签。所有的编辑器帮助将基于 Notepad++。
下载并安装 Notepad++:Notepad++ 官方下载
- PHP 运行环境
现在,你已经能够创建和保存 PHP 文件,接下来需要一个能够处理这些文件并生成浏览器输出的环境。你有两种方式来实现这一点:
- 获取一个支持 PHP 的 Web 主机,并且每次修改文件后上传。
- 使用自己的计算机作为 PHP 支持的个人服务器,只在完成版本后上传到 Web 主机。
实现上述第二种方式其实并不像你想象的那么复杂(假设你运行的是 Windows 系统)。
下载 Uniform Server 最新版:Uniform Server 下载链接
运行自解压程序 UniServerX_Y_Z.exe
,将目录复制到 C: 驱动器,使完整路径为 C:\UniServer
。
在该目录中运行 Start.exe
文件启动服务器。
将你希望服务器读取和处理的文件和子文件夹放入 www
文件夹中。
现在,你的 Web 浏览器应该可以打开 http://localhost/index.php
。
创建测试页面
在 C:\UniServer\www\
目录下创建一个名为 test.php
的网页,并使用 Notepad++ 编辑,复制以下内容:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<title>Test Page</title>
<meta name="Description" content="Test Page" />
<meta name="Keywords" content="Test,Page" />
</head>
<body>
<?php
$string = 'Hello world! <br/>';
echo $string;
print $string;
printf('%s', $string);
?>
</body>
</html>
保存为 C:\UniServer\www\test.php
,然后在浏览器中访问 http://localhost/test.php
,你应该能看到以下输出:
Hello world!
Hello world!
Hello world!
(可选:如果你想让 PHP 代码在以 ".html" 为后缀的网页中也能工作,请参考 如何在 ".html" 网页中启用 PHP)
Mac OS X 上的 PHP
Mac OS X 默认提供 Apache 服务器,你只需在“系统偏好设置”中的“共享”部分勾选“个人 Web 共享”即可启用 Apache。启用后,你可以将文件放置在 /Library/WebServer/Documents
目录下,通过该服务器访问这些文件。Mac OS X 也自带 PHP,但默认安装中缺少许多扩展,因此如果需要,你需要自己安装 PHP。你可以通过苹果的开发者连接指南,或者下载自动安装程序(例如,Entropy 提供的安装程序)来完成安装。一旦安装完成,你就可以在 Mac 上运行 PHP 服务器。
如果你想安装 MySQL,可以直接下载并运行 OS X 安装包,或者使用 XAMPP for MacOS X。
如果你使用的是 UNIX 或正在学习它,编译 PHP 和 Apache 可能是一个好的选择,因为你可以选择想要的扩展,也可以选择编译哪些版本。要做到这一点,确保你已经安装了开发工具,这些工具是随 OS X 一起提供的。
如何知道我的设置是否正常工作?
完成了之前的步骤后,现在是时候确认一切是否顺利。你还可以写下你的第一个 PHP 脚本!打开你最喜欢的纯文本编辑器(不要使用 Microsoft Word 或其他文字处理器),并输入以下神奇的代码:
<?php phpinfo(); ?>
将文件保存为 phpinfo.php
,并放置在你 Web 服务器的根文档目录中。如果你使用的是 Web 主机服务器,上传该文件到与 HTML 文件相同的目录。然后,打开你的 Web 浏览器,访问 http://localhost/phpinfo.php
,如果你使用的是 Web 主机服务器,访问 http://your-web-hosting-server.com/phpinfo.php
,并查看输出。
接下来,滚动页面,确认页面中有一个标题为 "mysql" 的表格,并且顶部一行应该显示:MySQL support:
enabled
。如果你的输出没有显示这一行,那么你的 PHP 安装可能没有启用 MySQL 支持。请注意,这个测试并不会告诉你 MySQL 服务器是否正在运行。你应该启动 MySQL 客户端并检查其状态。
一些专用的 PHP 或脚本编辑器甚至会对不同的关键字进行着色,这对找出错误非常有用。一个免费的实现就是功能强大的 Notepad++,它可以从 SourceForge 下载,并且基于 GPL 许可证。
相关链接:
- WAMP 简介
- Wamp 服务器