文/一觉亮天
在安装RedHatEnterpriseLinux5.3的时候,选择安装apache,php,mysql。
apache
apache的配置文件在/etc/httpd/conf/httpd.conf。可以配置文档目录,Listen端口等。缺省文档目录是/var/www/html,缺省Listen端口是80。
apache的启动/停止用apachectl start/stop。可以用apachectl status查看WEB服务是否启动。也可以用ps -ef | grep httpd查看apache服务是否启动。
php
php是作为apache的插件的方式工作的。安装php后,html文件的请求就由apache处理返回给浏览器,php文件的请求apache会交由php处理然后返回给浏览器。
php的配置文件在/etc/php.ini。为了调试方便,我们可以把其中的display_errors设置为On。这样php运行时错误会在浏览器中显示出来。
php自身在apache中的配置文件在/etc/httpd/conf.d/ php.conf。
缺省安装完php后,php是不支持调用mysql API的。还需要安装php-mysql*.rpm包(或者自己编译php,在configure时候带上mysql支持)。安装完后,在php脚本中可以调用mysql_connect和mysql_query等mysql相关API。安装完后在/etc/php.d中就会包含php有关mysql的配置文件。
mysql
mysql服务的启动/停止可以用service mysqld start/stop。mysqladmin命令可以用来管理mysqld,比如创建数据库、删除数据库、查看mysqld状态等。
mysql服务的配置文件在/etc/my.cnf。其中的datadir用来配置数据库文件保存的目录。缺省的保存目录是/var/lib/mysql。
mysql client是一个命令行console,可以连接mysql服务,既可以是本地服务,也可以是远程服务。连接本地服务只要执行mysql命令即可。进入console后,可以执行sql语句create database/table, drop database/table, select, update和delete等。也可以执行mysql的一些命令show databases, show tables, use database, show status等。
在mysql client中执行show databases,可以看到mysql中缺省包括三个数据库,分别是information_schema,mysql和test。其中information_schema和mysql是mysql RDBMS自己管理用的。用use mysql进入mysql数据库的context。用show tables可以查看其中包括的表。其中的user表是用来保存连接mysql数据库的用户的。可以用describe user查看表的schema。用select host, user, password from user;可以得到缺省只有root用户,密码为空。在php脚本中连接mysql中的数据库需要指定host,用户和密码。
下面给出一个php文件,其中用到了mysql数据库。通过它可以同时验证apache,php,mysql是否工作。
<html> <head><title>Test MySQL</title></head> <body> <!-- mysql_up.php --> <?php $host="localhost"; $user="root"; $password=""; mysql_connect($host,$user,$password); $sql="show status"; $result = mysql_query($sql); if ($result == 0) echo "<b>Error " . mysql_errno() . ": " . mysql_error() . "</b>"; else { ?> <!-- Table that displays the results --> <table border=”1”> <tr><td><b>Variable_name</b></td><td><b>Value</b> </td></tr> <?php for ($i = 0; $i < mysql_num_rows($result); $i++) { echo "<TR>"; $row_array = mysql_fetch_row($result); for ($j = 0; $j < mysql_num_fields($result); $j++) { echo "<TD>" . $row_array[$j] . "</td>"; } echo "</tr>"; } ?> </table> <?php } ?> </body></html>
参考文献:
php and mysql for dummies