Home  >  Article  >  php教程  >  构架Linux下的PHP+MySQL开发环境

构架Linux下的PHP+MySQL开发环境

WBOY
WBOYOriginal
2016-06-21 09:04:531131browse

作者:余海发 
目前Web开发人员常使用的开发语言是PHP、ASP和JSP。这三种语言各有所长,也各自拥有一大批忠实的开发者和使用者。对于使用PHP做Web开发的人员来说,很多人选择了在Windows下进行开发,而最终开发出的程序则运行在Unix类(如Linux/FreeBSD)的操作系统上。开发环境和实施环境的不同,使得许多开发人员的系统知识稍显欠缺。作为一个使用PHP进行Web开发的人员而没有用过Linux,这种现象并不少见。更不要说具备一些简单的Linux系统知识,能够自己安装开发环境了。一个开发人员了解一些系统知识是很有必要的,对于开发也是很有帮助的。下面介绍一下如何构架Linux下的PHP+MySQL开发环境。

在Linux下开发Web应用,一定要有一个HTTP Server,这就是著名的Apache。当然数据库是一定少不了的,Linux支持多种数据库,包括像Oracle、DB2等这样大型的数据库。不过与PHP最为相配、也是运用最多的数据库当属MySQL了。另外PHP语言本身也是必不可少的。下面是它们相应的网站:

Apache http://www.apache.org

MySQL http://www.mysql.com

PHP http://www.php.net

Linux上的软件通常有着很快的升级速度,这可能是开放源码软件的优点之一吧。就Apache而言,有1.3.X版本与2.X版本两个分支。由于2.X是在1.3.X上进行重写,因此在结构和功能上都有很大的改进。关于Apache 1.3.X的安装介绍比较多,故本文选用了Apache 2.X版本。同样,也选用了支持Apache 2.X版本的PHP版本。大家可以从其各自的网站上去下载Apache、MySQL、PHP的最新版本。以下是2003年9月16日下载到的软件包:

mysql-4.0.15.tar.gz

php-4.3.3.tar.gz

httpd-2.0.47.tar.gz

有了这三个软件包,就可以开始在Linux下构建一个支持PHP+MySQL的Web服务器了。这也正是目前常用的Web应用环境。

我们把下载的三个软件包放到/var/local目录下(这是笔者个人的习惯),它们都是tar.gz包,可以用命令tar -xzpvf 包名,把它们在当前目录(/var/local/)中解开:

cd /var/local
tar -xzpvf mysql-4.0.15.tar.gz
tar -xzpvf php-4.3.3.tar.gz
tar -xzpvf httpd-2.0.47.tar.gz
 

解包后可以开始进入正式安装。

安装MySQL

1.编译

cd mysql-4.0.15/
../configure --prefix=/usr/local/mysql
make
make install
cd ..
 

2.增加用户

adduser  -s /bin/false mysql
 

3.初始化并设置目录权限

/usr/local/mysql/bin/mysql_install_db
chown -R root /usr/local/mysql/
chown -R mysql /usr/local/mysql/var
chgrp -R mysql /usr/local/mysql/
 

4.加入库

echo /usr/local/mysql/lib/mysql/lib >>/etc/ld.so.conf
ldconfig
 

5.使之启动时自动运行

echo "/usr/local/mysql/bin/mysqld_safe &" >>/etc/rc.d/rc.local
 

6.启动MySQL

/usr/local//mysql/bin/mysqld_safe &
 


7.安全性设定

修改MySQL的root密码:

/usr/local/mysql/bin/mysqladmin -uroot password abcdefg
 


8.测试

[root@terry bin]# /usr/local/mysql/bin/mysql -u root -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 3 to server version: 4.0.15
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql> use mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql> delete from user where user=''; (删除所有用户名为空的用户,可以提高安全性)
Query OK, 2 rows affected (0.00 sec)
mysql> quit
Bye
 


安装Apache

cd httpd-2.0.47/
../configure --prefix=/usr/local/httpd  --enable-so
make
make install
cd ..
 

现在已经将Apache 2.0.47安装到 /usr/local/httpd目录中,安装好的Apache支持可装载模块和标准的MPM prefork。如果安装过程中没有出现错误,便可以使用如下命令启动Apache服务:

/usr/local/httpd/bin/apachectl start
 

如果启动成功,将启动命令加入rc.local,使之在系统启动时自动运行:

echo "/usr/local/httpd/bin/apachectl start &" >>/etc/rc.d/rc.local
 

停止Apache服务,并继续安装PHP:

/usr/local/httpd/bin/apachectl stop

安装PHP

cd php-4.3.3

../configure --with-apxs2=/usr/local/httpd/bin/apxs --with-mysql=/usr/local/mysql
make
make install
cp php.ini-dist /usr/local/lib/php.ini
 

这种安装方式是将PHP作为Apache的SAPI模块来进行安装,它仅是其中的一种安装方式,更多的方法请参阅相关文档。

PHP和Apache安装后的基本配置

1.Apache的配置

Apache的配置文件是/usr/local/httpd/conf/httpd.conf,编辑httpd.conf 文件,在文件结尾加上以下两行:

LoadModule php4_module modules/libphp4.so
AddType application/x-httpd-php .php .php3
 
同时修改DirectoryIndex为:

DirectoryIndex index.html index.php index.php3

Apache的配置内容比较丰富,其它Apache相关配置请参考Apache的相关文档。

2.PHP的配置

Apache的配置文件是/usr/local/lib/php.ini,编辑php.ini文件来配置PHP的选项。特别注意的是,安装完成后register_globals变量默认设置为Off,需要将它改成On。否则会出现PHP读不到post的数据的现象。

register_globals=On
 

其它PHP的选项请参考相关文档。

3.测试

可以写一个简单的PHP文件来测试安装,文件包含下列一行:

phpinfo();?>
 

将其保存为/usr/local/httpd/htdocs/info.php,启动Apache,然后在浏览器中浏览。

图1 PHP信息


如果看到如图1的信息即表示成功了。以上安装都是在Red Hat 9.0上进行的。到此为止,已经安装好一个支持PHP+MySQL的Web环境。另外Linux下有许多强大的编辑器可以用来写PHP程序,比如vi、emacs等;此外还有一些图形化的编辑器或是Web开发专用的编辑器,这就有待个人发掘了。当真正转到Linux下进行开发的时候,就会慢慢体会到它的强大和得心应手。

本文与其它介绍Apache安装的文章不同,不是介绍Apache 1.3.x,而是介绍了如何用Red Hat 9.0+Apache 2.0+PHP 4.3+MySQL 4.0来架构Web开发环境,所选取的是目前最新版本的软件,均从源代码开始编译,而不是下载二进制文件来进行安装。



Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn