当前位置: 首页 > 文章教程  > 计算机与互联网 > 网络编程

1.6深入了解Apache、PHP和MySQL

9/17/2020 9:31:19 PM 人评论

1.6深入了解Apache、PHP和MySQL

1.6 深入了解Apache、PHP和MySQL

在正式学习PHP语言之前,还需要对Apache、PHP配置和MySQL的有关方面做一些比较深入的说明,这样既有助于读者对前几节知识加深认识,也有助于读者学习和理解后续内容。本节内容主要以Windows平台下的配置做讲解,Linux/UNIX平台下的情形与之类似。

1.Apache服务器目录

Apache安装完成后,有一些目录需要读者进一步了解,如conf目录、htdocs目录、logs目录和modules目录。

·conf目录:存放着一些Apache配置文件,其中最常用到的就是httpd.conf,是Apache的核心配置文件,Apache服务器的很多重要配置及功能实现都要在这个文件里完成。这个文件也是PHP开发人员需要经常改动的文件,本书将在1.6.2小节讲述httpd.conf,设置一些重要的配置项。

·htdocs目录:被Apache默认为服务器的根目录。也就是说,在默认情况下,开发人员编写的HTML文档和PHP程序只有放到这个目录下,才可以被访问或被执行。

·logs目录:存放着服务器级别的日志文件。如access.log记录用户访问的文件及其访问日期时间、方式等。这个目录下的有些文件有时可以用来做PHP程序调试之用,因为服务器在这些日志里记录错误,开发人员可以通过这些错误来调试PHP程序。

·modules目录:放有Apache执行的核心模块,当Apache启动时,它会根据配置从这个目录里载入需要的模块。一般情况下,PHP开发人员不需要对这个目录了解更多。

2.进行基本的Apache配置

Apache服务器的很多功能和任务等重要配置,都是通过修改httpd.conf来完成的,如设置服务器根目录、服务器超时时间、监听端口、Apache运行模块的载入等。下面这段文字就是从httpd.conf摘出的一部分。


     #
     #Listen 12.34.56.78:80
     Listen 81

httpd.conf中,凡是以“#”号开头的文字表示注释,也就是说,这些行的内容只是对配置项的一些说明,Apache启动时它们并不会被加载。上例中有两行注释。本小节将讲述几项重要的Apache配置项。转到Apache安装目录下的conf目录,打开httpd.conf,找到Listen、LoadModule、DocumentRoot这几项内容,读者可以先有个大概的认识。

(1)Listen

这个配置项用来绑定Apache监听的IP地址或端口号。一般情况下,此配置项设置为80,即Apache监听80端口,这也是HTTP协议所使用的端口。如果机器上有IIS,它的默认端口也是80,则此处的值可以改为81。

(2)LoadModule

正如读者所看到的那样,在httpd.conf中有很多LoadMoudule项,每一个用来载入一个模块。例如载入access_module模块,载入路径为modules/mod_access.so,命令如下。


LoadModule access_module modules/mod_access.so

并不是所有模块都要从modules目录下载入,比如,将PHP作为一个Apache模块运行,就需要载入有关PHP的模块,在httpd.conf中加入如下所示的配置,表示从PHP的安装目录载入由Apache执行的PHP模块php5apache2_2.dll。


LoadModule php5_module d:/php/php5apache2_2.dll

本书例子将PHP安装在D盘,所以载入路径是d:/php/php5apache2_2.dll。如果不需要使用某个模块,或者说关闭某个服务器功能,只需将这个模块的载入配置注释掉就可以了。如使服务器不支持URL重写机制,可采取如下命令设置。


#LoadModule rewrite_module modules/mod_rewrite.so

(3)DocumentRoot

这个配置项用来设置服务器的根目录,默认设置为Apache安装目录下的htdocs目录。用户可以修改这个配置项的值,进而修改服务器根目录。比如将根目录设置为D盘的webroot目录,可以先注释掉默认配置,然后添加新的配置,命令如下。


     #DocumentRoot "D:/Apache2/htdocs"
     DocumentRoot "D:/webroot"

这样,对于所有HTTP请求,Apache服务器就会去D:\webroot目录下找客户端要访问的文件。

3.Apache的启动与停止

对于Windows用户来说,可以通过Windows“服务”来启动和关闭Apache服务器。进入Windows控制面板里的管理工具,打开服务,找到Apache项,通过“操作”菜单命令或图标按钮即可完成Apache的启动与停止,如图1-14所示。

图1-14 Apache的关闭与启动

4.PHP的核心配置——php.ini

与Apache相似,PHP也有自己的核心配置文件php.ini,PHP分析器启动时会读取这个文件。与httpd.conf不同,php.ini以英文分号“;”作为注释符。这些配置项均在php.ini中设置。PHP基本的配置项如下所述。

·doc_root:该项用来指定PHP页面在服务器的根目录,以本书安装情况为例,该项配置命令如下。


doc_root = d:\Apache2\htdocs

注意 httpd.conf配置项与其值之间用空格分隔,而php.ini使用“=”。

·extension_dir:该项用来指定PHP在哪个目录下查找扩展动态库。以本书安装情况为例,该项配置命令如下,表示从PHP安装目录下的ext目录里查找扩展动态库。


extension_dir = d:\php\ext

5.PHP文件上传功能的配置

关于PHP文件上传功能的配置,主要有以下两项。

·upload_tmp_dir:当进行文件上传时,对于Linux/UNIX用户来说,要特别注意临时文件存放的目录,当前PHP用户必须拥有这个目录的写权限。

·upload_max_filesize:指定允许上传文件大小的最大值,php.ini默认值是2MB。

6.PHP中session的配置

在php.ini中,有关session的基本配置有以下3项。

·session.save_handler:配置用来设置session的存储方式,一般使用默认值files,代表用文件存储。

·session.save_path:用来设置session的保存路径,以本书为例,将session保存在PHP安装目录的session目录下,命令如下。


session.save_path = d:\php\session

·session.use_cookies:session的传递方式,默认是cookie,推荐使用。

7.PHP中和电子邮件有关的配置

在这里,关于PHP的邮件配置目前只需了解sendmail_path项即可,其他配置项将在以后讲述。

sendmail_path仅针对于Linux/UNIX用户,用来指定sendmail程序的目录位置,通常是/usr/sbin/sendmail或/usr/lib/sendmail。

8.PHP基本的安全设置

这里的安全设置主要是指PHP安全模式方面的内容,基本的配置有以下几项。

·safe_mode:是否允许PHP的安全模式,默认情况下,此项配置的值为Off,即关闭安全模式。

·safe_mode_exec_dir:该项表示安全模式下,系统可执行系统程序的目录。这个配置项取决于safe_mode项,如果PHP运行于安全模式下,一些系统函数将会拒绝执行不在该目录下的系统程序。

9.MySQL数据库系统的启动与关闭

对于Windows用户,和Apache类似,可以通过Windows服务来关闭和启动MySQL。进入Windows控制面板里的管理工具,打开服务找到MySQL项,通过“操作”菜单命令或图标按钮可完成MySQL的启动与停止,如图1-15所示。

图1-15 MySQL的启动与关闭

10.MySQL对数据的存储

Windows平台下,MySQL的目录结构如图1-16所示。

图1-16 MySQL的目录结构

MySQL会把所有数据以文件的形式存储在MySQL安装目录的data目录下。开发人员可以通过MySQL创建许多数据库,每创建一个数据库,就会在data目录下生成一个子目录。这个子目录的名字就是数据库的名字,在这些子目录下存放的就是真正的数据文件。关于MySQL的更多概念与内容,本书将在第12章详细讲述。

相关教程

共有条评论 网友评论

验证码: 看不清楚?