PHP安装攻略:常见问题解答

发表于:2007-07-01来源:作者:点击数: 标签:
一. 问:我已经按步骤安装了 Unix 版的APACHE模块,但是我的 PHP 脚本源码显示在浏览器当中,或者浏览器提示我保存文件。为什么? 答: 这是由于PHP模块没有正常工作引起的。请检查下列三个地方: 请确认正在运行的APACHE执行文件是你最后编译成功的那一个。
  一. 问:我已经按步骤安装了Unix版的APACHE模块,但是我的PHP脚本源码显示在浏览器当中,或者浏览器提示我保存文件。为什么?

  答: 这是由于PHP模块没有正常工作引起的。请检查下列三个地方:

  请确认正在运行的APACHE执行文件是你最后编译成功的那一个。输入如下命令:
  /path/to/binary/httpd -l
  如果你没有看到mod_php3.c在列表中,那你就没有运行一个正确的执行文件。
  请确认你已经加入了正确的"Mime Type"在你的某个.conf中。这应该像:
  AddType application/x-httpd-php3 .php3
  请确认上面那个"AddType"不在或块当中,否则此AddType只在当前的Virtualhost或Directory中生效。

  二.问:我已经按照说明安装了PHP,但我的PHP仍然不能和IIS一起工作,为什么?

  答:必须确保需运行PHP的用户有足够的权限运行php.exe。IIS服务器使用一个在安装时创建的匿名账号,这个账号需要运行php.exe的权限。另外,任何要经过论证的用户也有权限运行php.exe.

  三.问:如何与APACHE 1.3.X一起编译PHP?

  答:这很简单,只需按照如下步骤即可:

  - 从APACHE站点上取得最新的APACHE分发包
- UNZIP/UNTAR文件到一个目录,例如/usr/local/src/apache-1.3.9
- 输入"./configure --with-apache=/path/to/your/apache"开始第一次编译PHP
- 顺序执行"make","make install" ,建立并复制必需的文件到APACHE的目录中
- 进入APACHE的目录中,编辑Configuration文件。在文件的尾部加入:"AddModule modules/php3/libphp3.a"
  执行"./Configure","make"

  一切搞定,你已经有了一个能运行PHP的APACHE执行文件

  四. 问:当我将PHP和APACHE一起编译时,好象有问题。它总是说无法找到httpd.h文件,可事实上该文件时存在的。为什么?

  答:你需要让PHP配置/安装脚本知道你的APACHE源码的最高级目录,而不是包含httpd.h文件的目录。也就是说,应该指定"--with-apache=/path/to/apache/"而不是"--with-apache=/path/to/apache/src"。

  五. 问:我使用RPM安装了PHP,但APACHE却不能处理PHP文件。为什么?

  答: 假设你使用RPM正确安装了PHP,那你必须反注或加入下面的几行到  httpd.conf文件中:

  #Extra Modules
  AddModule mod_php.c
  AddModule mod_php3.c
  AddModule mod_perlc.
  #Extra Modules
  LoadModule php_module modules/mod_php.so
  LoadModule php3_module modules/libphp3.so
  LoadModule perl_module modules/libperl.so

  另外,再加入:

  AddType application/x-httpd-php3 .php3 到httpd.conf的全局部分,或到你需要提供PHP支持的部分。

  六.问:在WINDOWS下如何用MAIL函数发邮件?

  答:PHP在UNIX/LINUX下发邮件用的是SENDMAIL程序,在WINDOWS没有SENDMAIL,但可以用SMTP协议来完成,具体方法如下:修改PHP.INI文件的[mail function]下的SMTP。
  如:
  [mail function]
  SMTP=public.sta.net.cn ;Win32 Only

  七.问 :php+apache在win9x下的设置一问

运行时出现:“cannot determine local host name,use servername to set it manually”
  如果你有IP地址的话,只需在httpd.conf中加入:
  ServerName http://你的IP
例如: ServerName http://192.168.1.1

原文转自:http://www.ltesting.net