日期:2013-08-04  浏览次数:20660 次

一、

问:我已经按步骤安装了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://162.105.38.100