有关PHP的安装与配置
时间:2006-09-19 来源:naihe2010
强大的PHP
在Linux下,用Apache+PHP+Mysql做动态网站简单的令人吃惊。
下面,我就介绍一下,我的Apache+PHP+Mysql的站点建立过程,可能有错,谁发现告诉我,在下不胜感激,呵呵。
一、安装Apache与Mysql。
之所以先安装这两个东西,是因为在编译PHP的时候,要用到它们两个,否则编译会有麻烦。(并不是不能编译,而是configure的时候,会报错。水平高的可以不configure,直接编写Makefile,进行编译。)
Apache与Mysql都是开源软件,可以随便从它们的站点(http://www.apache.org与http://www.mysql.com)或镜像站点下载。
Apache的编译,如果没有什么特殊选项的话,只要.configure && make && make
install就可以了。 Mysql的站点上,提供的是二进制文件。我很想下载源文件,自己编译安装,但从它们的主站上,没有找到下载点,就放弃了。
值得说明的是,Mysql的二进制文件,最好解压在/usr/local/mysql文件夹中。
这样,可以保证不经过任何设制就正常使用。如果不是解压在这个文件夹中,就要对support-files/mysql.server文件进行一番更改
了。否则,把它作为服务启动时,可能会有问题。
二、安装PHP
先从http://www.php.com 下载PHP的最新版本php5。
最主要的是编译过程,要想使PHP作为Apache的模块,需要告诉PHP,Apache的二进制执行文件在哪,就是在./configure的时候,加上
--with-apxs2=/usr/local/apache2/bin/apxs
上面“=”后面的就是Apache的apxs二进制文件的位置。
还得告诉PHP,Mysql的路径,加上
--with-mysql=/usr/local/mysql
如果要使用GD库,还要加上
--with-gd=/usr/local/gd
为了便于管理PHP的行为,最好自己定义一下php.ini文件的位置,加上
--with-ini-file=/usr/local/apache2/conf
上面“=”后面的也是Apache的httpd.conf的路径,放在一起,便于管理而已。
一般来说,有了这面这几项,Apache+Mysql+PHP就可以工作的很好了。如果是高级用户,光这些显然是不够的。自己看着办吧!
三、php.ini的配置
虽然PHP的默认配置已经足够好,但是,我们仍然想自己管理PHP,让它按照我们的意愿工作。
我一般更改php.ini的下面这些选项:
- shout-open-tag = off,第141行,一般来说,内嵌php语言的标记是。 这个选项,用于设置是否表示。我不喜欢,所以选为off。
- asp-tags = off,第144行,ASP语言的标记是否表示内嵌PHP语言,我也不喜欢。
- max_execution_time = 30,第312行,每个脚本的最大执行时间,单位是秒。
- max_input-time = 60,第313行,每个脚本从传输到执行完毕的最大执行时间, 单位也是秒。
- memory_limit = 8M,第314行,每个脚本执行时用到的最大内存。
- display_errors = off,第367行,是否显示脚本执行时的错误。最好关闭,不关闭绝对不安全。(我曾经成功入侵了一个电子协会,就是因为他们的站点没有关闭这一项,使我通过不断地提交错误信息,摸清了站点的文件组织结构)
- display_startup_errors = off,第372行,这个显示的是PHP脚本启动时的错误信息,一样,很不安全,最好关闭。
- log_errors = On,第377行,为了记录脚本执行错误,便于我们自己的调试及管理,应该保持这个选项打开。它同上面的不同,它不会显示错误,而是记录到日志文件,只要日志文件不被非法读取,就不用担心有安全问题。
- register_globals = off,第457行,全局常量(这个名称可能不对,忘记了,估且先这么叫吧)是否有效。同样为了安全,我一般设为off。
- magic_quotes_sybase = off,第489行,是否自动把一些特殊字符进行替换。比如,最明显的,“'”,将被换成“\'”。打开它,会与我写的防注入函数产生冲突,我不喜欢,关闭了。
- auto_prepend(或append)_file = my.css,第493行,自动在PHP文件头部或尾部加上定义的文件,我用了CSS,就加那了,省了不少输入HTML的麻烦。
- file_uploads = On,第575行,是否支持文件上传。
- upload_tmp_dir = /tmp,第579行,上传文件的临时目录。上传文件时,PHP自动把文件复制到这个临时目录中,我们的上传过程,只是把它从临时目录复制到我们需要的位置,然后再删除临时文件(可以不删除,只要你硬盘够大)。
- upload_max_filesize = 500k,第582行,上传文件的大小限制。我的硬盘太小了,就不让上传大家伙了。
以后还有很多有关数据库的方便而舒服的设置,我用的默认的。
对于PHP的行为,当然远不止这些设置。如果想更好地管理PHP,最好读一读PHP 的手册页,或是一些其它的好书。
如果想要学好PHP,最好认真读一些高手的Code,并且自己写一些Code。这点, 不仅适用于PHP,任何一门语言,均是如此。
相关阅读 更多 +