购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

2.4 解决PHP的常见配置问题

专题讲座:光盘\MR\Video\2\配置PHP的常见问题.exe

视频速递:重点讲解配置PHP的常见问题

程序运行出错是许多程序员最为头疼的问题,下面介绍PHP常见的配置问题。通过本节的学习,可以分清哪些错误是由于PHP环境配置不当产生的,从而避免不必要的时间资源浪费,高效地完成Web应用程序的开发。

2.4.1 解决Apache服务器端口冲突

IIS的默认端口号为80,同Apache服务器默认端口号相同。由于采用了相同的端口号80,因此,在运行网页时就会发生冲突。

如果用户机器上安装了IIS,就需要修改IIS的默认端口,否则将导致Apache服务器无法正常工作。更改IIS的默认侦听端口80,可以在IIS的管理器中进行设置,或者停止IIS的服务也可以。

用户也可以在安装Apache服务器时将默认的端口号进行更改,从而解决两个服务器共用一个端口号而产生冲突的问题。

2.4.2 更改Apache服务器默认存储的文件路径

Apache的核心配置文件是httpd.conf,存放路径为“Apache的安装路径\conf\”,用记事本打开它,定位到DocumentRoot,语句如下。

这个语句指定了网站路径,也就是主页放置的目录。可以使用默认的,也可以自己指定一个,需要注意的是,语句的末尾不要加“/”。

2.4.3 在PHP.INI文件中更改上传文件的大小

在网站开发的过程中,控制上传文件的大小有两个关键点:第一点是PHP的配置文件php.ini中对上传文件的控制,如果上传文件超过它指定的范围,那么上传就会执行失败;第二点是在PHP配置文件允许的范围内,在程序中对上传文件大小的控制。

(1)PHP中通过php.ini文件对上传文件进行控制,包括是否支持上传、上传文件的临时目录、上传文件的大小、指令执行的时间、指令分配的内存空间。

在php.ini中,定义File Uploads项,完成对上传相关选项的设置。上传相关选项的含义如下。

file_uploads:如果值是on,说明服务器支持文件上传;如果为off,则不支持。一般默认是支持的,这个不用修改。

upload_tmp_dir:上传文件临时目录。在文件被成功上传之前,文件首先存放到服务器端的临时目录中。多数使用系统默认目录,但是也可以自行设置。

upload_max_filesize:服务器允许上传文件的最大值,以M为单位,系统默认为2M。如果网站需要上传超过2M的数据,那么就要修改这个值。

上述是php.ini中File_Uploads项中与上传相关选项参数设置说明,除了File_Uploads项中的内容外,在php.ini中还有其他几个选项会影响文件的上传。

max_execution_time:PHP中一个指令所能执行的最大时间,单位是秒。该选项在上传超大文件时必须修改,否则即使上传文件在服务器允许的范围内,但是超过了指令所能执行的最大时间,仍然无法实现上传。

memory_limit:PHP中一个指令所分配的内存空间,单位是MB。它的大小同样会影响超大文件的上传。

(2)在客户端控制上传文件,应用form表单中的enctype属性和method属性,以及隐藏域MAX_FILE_SIZE。

enctype='multipart/form-data',指定表单编码数据方式。

method='post',指定数据的传输方式。

<input type='hidden' name='MAX_FILE_SIZE' value='10000' />,通过隐藏域控制上传文件的大小(单位为字节),该值不能超过php.ini配置文件中upload_max_filesize选项设置的值。它不能完全控制上传文件的大小,只是可以避免一些不必要的麻烦。

在客户端通过隐藏域MAX_FILE_SIZE控制上传文件的大小时,隐藏域表单元素必须放置在文件域之前,否则隐藏域是不会起到控制上传文件大小作用的。

2.4.4 增加PHP扩展模块

增加PHP扩展模块也称为动态扩展,用来动态加载某个模块,它包含一个指令:extension。

在Windows操作系统下,加载模块的方法如下。

在Linux操作系统下,加载模块的方法如下。

需要说明的是,只加载这一行代码并不一定能启用相关的扩展包,有时还需要确保在操作系统中安装相关的软件。例如,为启用Java支持,需要安装JDK。

2.4.5 检测PHP是否支持MySQL数据库

当在完成PHP扩展模块的加载之后,那么如何检测扩展模块是否加载成功呢?方法非常简单,应用PHP函数库中的phpinfo()函数。

编写一个PHP脚本,脚本中代码如下。

将这个PHP脚本存储于Apache服务器的根目录下,命名为phpinfo.php。在IE浏览器中运行这个PHP文件,在页面中即可查看扩展模块是否被加载。例如,检测PHP是否支持MySQL,其检测结果如图2.19所示,则说明PHP支持MySQL。

图 2.19 检测PHP是否支持MySQL模块 xMrJs9jA6cSQK08Q0hFTerSYHdVsU1xdYhRAGRnPgE06EGAh532l1kNoOZBCe5Ks

点击中间区域
呼出菜单
上一章
目录
下一章
×