当前位置:数据库 > MySQL >>

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

答案:目前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文件来测试安装,文件包含下列一行:

  

  将其保存为/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开发环境,所选取的是目前最新版本的软件,均从源代码开始编译,而不是下载二进制文件来进行安装。

  

上一个:MYSQL中怎样设列的默认值为Now()的介绍
下一个:数据从sqlserver导入mysql数据库的体验

更多MySQL疑问解答:
如何将SQL 2005中的数据实时同步到MYSQL中
java对mysql数据库备份后,它的备份记录怎么显示查出来啊。 求告诉、
如何查询mysql表中的相似度。
mysql 查看表有没有被锁
mysql front 和mysql
mysql 建表 问题 求解答 为什么不能创建表
mysql查询问题
mysql中怎么让union all不打乱顺序
mysql中修改表字段
mysql用户操作表权限的问题(java)
mysql 如何在查询时防止插入
mysql中的 insert into select 问题,想在同个服务器下复制不同数据库的表的内容,在线求方法,谢谢
mysql中的concat用法!
使用mysql中,我想把表product的数据备份到同个服务器创建一个新表出来,刚学习mysql,用SELECT INTO 出错
mysql delete语句删除指定列的指定关键字的所以数据
Oracle
MySQL
Access
SQLServer
DB2
Excel
SQLite
SYBASE
Postgres
如果你遇到数据库难题:
请访问www.zzzyk.com 试试
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,