UBUNTU lamp环境下,用php实现一个页面,能连接数据库

第二种动态语言

a.实验环境描述

ubuntu 12.04.5

php version 5.3.10

mysql Ver 14.14

Apache/2.2.22 (Ubuntu)

b.系统架构图

UBUNTU lamp环境下,用php实现一个页面,能连接数据库

c.相关配置总结

1. 安装Apache2

UBUNTU lamp环境下,用php实现一个页面,能连接数据库

2. 安装PHP模块

UBUNTU lamp环境下,用php实现一个页面,能连接数据库

3. 安装Mysql

在前面的实验中,已经安装了Mysql,所以这一步可以跳过。

如果还没安装,则代码是:sudo apt-get install mysql-server

4. 其他模块安装

要想apache能够解析PHP,就需要借助这两个模块来找到php engine。

UBUNTU lamp环境下,用php实现一个页面,能连接数据库

UBUNTU lamp环境下,用php实现一个页面,能连接数据库

第三个在php操作mysql数据库时用到:

UBUNTU lamp环境下,用php实现一个页面,能连接数据库

第四个GD库:

UBUNTU lamp环境下,用php实现一个页面,能连接数据库

5.基本配置

Ubuntu的apache2配置在/etc/apache2目录下,这个目录下有个apache2.conf文件,这个文件通过包含其他配置文件涵盖了所有的apache2系统配置信息。

(1)进入目录/etc/apache2,打开文件apache2.conf,在apache2.conf中添加下面信息:

UBUNTU lamp环境下,用php实现一个页面,能连接数据库

(2)pache2的默认目录配置在/etc/apache2/sites-enabled/000default文件中,进入000default文件,找到该文件中的DocumentRoot项, 将/var/www改为你的开发目录,即/home/elrah

UBUNTU lamp环境下,用php实现一个页面,能连接数据库

 UBUNTU lamp环境下,用php实现一个页面,能连接数据库

(3) 重启apache

UBUNTU lamp环境下,用php实现一个页面,能连接数据库

(4)测试,在/home/elrah/phptest目录写一个简单的程序如下(test1.php):

UBUNTU lamp环境下,用php实现一个页面,能连接数据库

<!DOCTYPEhtml>

<html>

    <head>

        <title>PHP Site</title>

    </head>

<body>

    <p>

        <center>

            <?php

                echo "Hello,This is myfirst PHP webpage\n";

                phpinfo();

            ?>

        </center>

    </p>

</body>

</html>

结果显示:

UBUNTU lamp环境下,用php实现一个页面,能连接数据库

6.代码,连接数据库

在/home/elrah/phptest目录下写一个程序test2.php

在浏览器运行网址localhost/phptest/test2.php

UBUNTU lamp环境下,用php实现一个页面,能连接数据库

7.成功!!

d.核心代码总结

<!DOCTYPE html>

<html>

<head>

<title>PHP Site</title>

</head>

 

<body>

<p>

<center>

 

<?php

echo "<table style='border: solid 1px black;'>";

echo"<tr><th>Id</th><th>name</th><th>class</th></tr>";

 

class TableRows extends RecursiveIteratorIterator {

    function __construct($it) {

        parent::__construct($it,self::LEAVES_ONLY);

    }

 

    function current() {

        return "<tdstyle='width:150px;border:1px solid black;'>" . parent::current()."</td>";

    }

 

    function beginChildren() {

        echo "<tr>";

    }

 

    function endChildren() {

        echo "</tr>". "\n";

    }

}

 

$servername = "localhost";

$username = "root";

$password = "123456";

$dbname = "time";

 

try {

    $conn =new PDO("mysql:host=$servername;dbname=$dbname", $username,$password);

   $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

    $stmt =$conn->prepare("SELECT id, name, class FROM time");

   $stmt->execute();

 

       $result = $stmt->setFetchMode(PDO::FETCH_ASSOC);

   foreach(new TableRows(new RecursiveArrayIterator($stmt->fetchAll()))as $k=>$v) {

       echo $v;

    }

}

catch(PDOException $e) {

    echo"Error: " . $e->getMessage();

}

$conn = null;

echo "</table>";

?>

 

 

</center>

</p>

</body>

</html>

 

 

e.页面效果截图

UBUNTU lamp环境下,用php实现一个页面,能连接数据库