在RedHat上安装部署Apache+MySQL+PHP环境
1. 安装Apache2
yum install httpd
Apache安装完成后,手动启动Apache2
/etc/init.d/httpd start
这时,直接在浏览器中输入服务器的IP地址,即可看到Apache2的默认页面。此时的Apache仅仅能提供HTTP服务,不能执行php、也不能连接MySQL数据库。
2. 安装MySQL
yum install mysql mysql-server
完成后,使用如下命令启动MySQL服务:
/etc/init.d/mysqld start
3. 安装PHP5
yum install php
安装完php5后,必须要重新启动Apache以使php生效:
/etc/init.d/httpd restart
这时,Apache已经可以解析执行php脚本了。由于Apache的默认网站根目录位于:/var/www/html/,因此在此目录建立一个info.php用来测试Apache+PHP的正确安装与否:
echo "<?php phpinfo(); ?>" > /var/www/html/info.php
然后在浏览器中访问 IP/info.php,出现了PHPINFO的输出信息则表示安装成功
安装php的mysql模块
yum install php-mysql
完成后再次重启Apache
/etc/init.d/httpd restart
最后还需要将LAMP组件设置为自动启动:
chkconfig --levels 2345 httpd on
chkconfig --levels 2345 mysqld on
测试环境(阿里云虚机):
登录本地的MySQL创建一个表,创建一个用户,设定该用户对表的操作权限
use test;
create table login(
uid char(20),
dt int,
text char(50)
);
grant select,insert,update,delete on *.* to alan@"%" identified by 'password';
test.php
<?php
$host = 'xxx.xxx.xxx.xxx';
$user = 'alan';
$passwd = 'password';
$db = 'test';
$conn = mysql_connect($host,$user,$passwd);
if (!$conn) {
die('Could not connect: ' . mysql_error());
}
echo "select data from MySQL<br \>";
mysql_select_db($db, $conn);
$select_sql = "select * from login";
$result = mysql_query($select_sql);
echo "<table border='1'><tr><th>uid</th><th>time</th><th>text</th></tr>";
while ($row = mysql_fetch_array($result)) {
echo "<tr>";
echo "<td>".$row['uid']."</td>";
echo "<td>".$row['dt']."</td>";
echo "<td>".$row['text']."</td>";
echo "</tr>";
}
echo "</table><br \>";
echo "<form action='insert.php' method='post'>
Name:<input type='text' name='uid' />
text:<input type='text' name='text' />
<input type='submit'></form>";
mysql_close($conn);
?>
insert.php
<?php
$host = 'xxx.xxx.xxx.xxx';
$user = 'alan';
$passwd = 'password';
$db = 'test';
$conn = mysql_connect($host,$user,$passwd);
if (!$conn) {
die('Could not connect: ' . mysql_error());
}
mysql_select_db($db, $conn);
$dt = time();
$insert_sql = "insert into login(uid,dt,text) values('$_POST[uid]', $dt, '$_POST[text]')";
echo "SQL: ".$insert_sql."<br \>";
if (!mysql_query($insert_sql, $conn)) {
die('Error: ' . mysql_error());
}
echo "1 record added.<br \>";
mysql_close($conn);
?>
1. 访问页面
2. 提交表单,执行一条sql插入语句
3. 返回页面刷新查看结果
相关配置与环境
Apache主配置文件:/etc/httpd/conf/httpd.conf
Apache主配置目录,可以将不同类型的配置分门别类放入这个目录中:/etc/httpd/conf.d/
Apache网站根目录:/var/www/html/
Apache日志文件目录:/var/log/httpd
MySQL的my.cnf配置文件:/etc/my.cnf
MySQL数据库文件位置:/usr/lib/mysql
推荐阅读: