1. apache php 安装后,Apache正常启动,但无法解析PHP,可以解析html。网页出现HTTP 404是怎么回事
apache php 安装后,Apache正常启动,但无法解析PHP,可以解析html。网页出现HTTP 404是设置错误造成的,解决方法为;
1、在apache的安装目录下,有一个htdocs目录,现在,我们在该目录下,新建一个简单的php网页文件。
2. php apache配置
没必要这么复杂
安装完成后,打开httpd.conf,添加以下三行:
LoadMole php5_mole C:/WAMP/PHP5.3.1/php5apache2_2.dll
PHPIniDir "C:/WAMP/PHP5.3.1"
AddType application/x-httpd-php .php .phtml
找到
DirectoryIndex index.html
改为:
DirectoryIndex index.html index.php
之后把PHP5里所有的dll文件(包括ext文件夹下的文件)复制到system32文件夹下。就OK乐,PHP5都不用配置
3. apache 解析一个错误的php文件时,会直接显示php的源码,如何让他不显示源码。
1、在可能出异常的代码后面 die('....自己写错误信息');
2、在php中代码前加error_reporting(0);
3、修改php.ini 中 display_errors设置为display_errors = off
4. 请问php在apache下运行有几种模式,区别是什么该怎样设置,谢谢
Windows 下有两种方法使 PHP 工作于 Apache 2.0.x 之中。一种是 使用 CGI 可执行程序,另一种是适用 Apache 模块的 DLL。不管哪种都需要编辑 httpd.conf 来配置 Apache 支持 PHP 并重新启动服务器。
注: 记住在 Windows 下给 Apache 的配置文件中加入路径值的时候,所有的反斜线例如 c:\directory\file.ext 必须转换成正斜线,如 c:/directory/file.ext。
以 CGI 方式安装
需要将以下三行加入到 Apache 的 httpd.conf 配置文件中以设定 CGI: 例子 6-5. PHP 在 Apache 2.0 中的 CGI 方式
ScriptAlias /php/ "c:/php/"
AddType application/x-httpd-php .php
# 对 PHP 4 用这行
Action application/x-httpd-php "/php/php.exe"
# 对 PHP 5 用这行
Action application/x-httpd-php "/php/php-cgi.exe"
警告
如果使用 CGI 方式安装,则服务器对于某些可能的攻击是开放的。请阅读 CGI 安全一章以学习如何防御这些攻击。
以 Apache 模块方式安装
需要将以下两行加入到 Apache 的 httpd.conf 配置文件中以设定 Apache 2.0 的 PHP 模块: 例子 6-6. PHP 在 Apache 2.0 中的模块方式
# 对 PHP 4 用这两行:
LoadMole php4_mole "c:/php/php4apache2.dll"
# 别忘了从 sapi 目录中把 php4apache2.dll 拷贝出来!
AddType application/x-httpd-php .php
# 对 PHP 5 用这两行:
LoadMole php5_mole "c:/php/php5apache2.dll"
AddType application/x-httpd-php .php
# 配置 php.ini 的路径
PHPIniDir "C:/php"
注: 记得用自己 PHP 实际所在的路径替换掉上例中的 c:/php/。要留意在 LoadMole 指令中用的是 php4apache2.dll 或 php5apache2.dll,而不是 php4apache.dll 或 php5apache.dll,后者是设计用于 Apache 1.3.x 的。
注: 如果要使用内容协商机制,请阅读有关 FAQ。
警告
不要在安装中混合使用来自不同 PHP 版本的 DLL。使用下载回来的 PHP 版本中所提供的 DLL 和扩展库是唯一选择。
5. php在apache中有哪些工作方式
PHP在Apache中两种工作方式(CGI模式、Apache模块DLL)
PHP在Apache中两种工作方式(CGI模式、Apache模块DLL)
PHP在Apache中有两种工作方式:一种是 使用 CGI 可执行程序,另一种是适用Apache 模块的 DLL。
这两种工作方式的安装:
1. CGI方式
PHP 在 Apache 2.0 中的 CGI 方式
ScriptAlias /php/ "c:/php/"
AddType application/x-httpd-php .php
# 对 PHP 4 用这行
Action application/x-httpd-php "/php/php.exe"
# 对 PHP 5 用这行
Action application/x-httpd-php "/php/php-cgi.exe"
2. APACHE Mole方式
PHP 在 Apache 2.0 中的模块方式
# 对 PHP 4 用这两行:
LoadMole php4_mole "c:/php/php4apache2.dll"
# 别忘了从 sapi 目录中把 php4apache2.dll 拷贝出来!
AddType application/x-httpd-php .php
# 对 PHP 5 用这两行:
LoadMole php5_mole "c:/php/php5apache2.dll"
AddType application/x-httpd-php .php
# 配置 php.ini 的路径
PHPIniDir "C:/php"
这两种工作方式的区别:
在CGI模式下,如果客户机请求一个php文件,Web服务器就调用php.exe去解释这个文件,然后再把解释的结果以网页的形式返回给客户机;
而在模块化(DLL)中,PHP是与Web服务器一起启动并运行的。所以从某种角度上来说,以apache模块方式安装的PHP4有着比CGI模式更好的安全性以及更好的执行效率和速度。