注册 | 登录 忘记密码? 51cto首页 | 博客 | 论坛 | 招聘
热点文章 [业内传闻]今天,7月25日..
 帮助

Apache 2.2 + Php 5.1 安装问题解决[原创]


2007-03-29 15:33:35
 标签:php Apache   [推送到技术圈]

 
安装好Apache 2.2 和 Php 5.1后,在默认的设置下是无法正常工作的,按照网络教程配置好以后(注:这里php配置成CGI形式),有时仍会遇到一些问题。
问题:运行php文件时,出现提示“No input file specified.
解决:将php.ini中的 doc_root 注释掉或者正确设置它的值为网站的根目录。

问题:运行php文件时,无任何显示或显示不正常。
解决:可能是php.ini中的 extension_dir 设置不正确,没有加载需要的模块,一般可改为"./ext/",然后搜索"extension="将需要的模块取消注释。

问题:session 无法使用。
解决:修改php.ini中的 session.save_path,将其值改为有效的目录,如"c:/windows/temp",注意是分隔符 是"/"。

问题:运行php文件时,出现如下错误:
您无权查看该网页
您可能没有权限用您提供的凭据查看此目录或网页。
... ...
HTTP 错误 403 - 禁止访问
解决:Apache2.2默认设置有误,修改如下:
<Directory "/">
Options FollowSymLinks
Allow from all #修改
Order Allow,Deny #修改
AllowOverride None
Satisfy all
</Directory>
重起Apache试试。

问题:运行php文件时,出现如下错误:

Internal Server Error

The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator, admin@synchrotimes.com and inform them of the time the error occurred, and anything you might have done that may have caused the error.
More information about this error may be available in the server error log.
Additionally, a 500 Internal Server Error error was encountered while trying to use an ErrorDocument to handle the request.
Apache 日志文件(error.log)中有如下提示:
Premature end of script headers: php.exe, referer: http://localhost/index.php
解决:按照网络教程设置,一般要在Apache的配置文件httpd.conf中加入下面这一行:
Action application/x-httpd-php "/php/php.exe"
而php刚装好时,默认的php.exe是CLI模式的,应当吧php目录下的php.exe改名,然后把php-cgi.exe改名为php.exe即可,也可以把上面那一行改为:
Action application/x-httpd-php "/php/php-cgi.exe"
重起Apache试试。
 
原出处:xzq200.21ic.org




    文章评论
 
2007-03-29 15:34:41
WinXP+apache_2.0.43+php-5.1.6+mysql-5.0.15+phpMyAdmin-2.8.2.4 完全配置1

从网上下载对应的软件(可以到官方网站,或者google搜索)

假设把工作目录设定为d:\server\myphp

第一部分:安装
安装apache_2.0.43-win32-x86-no_ssl.msi到目录D:\server\apache(随自己喜好了).
安装mysql-5.0.15到目录D:\server\mysql.
安装php-5.1.6到目录D:\server\php.
解压缩phpMyAdmin-2.8.2.4到d:\server\myphp\phpMyAdmin.


第二部分:配置

找到 php目录里的 php.ini-dist 重命名为 php.ini 并拷到 windows目录里(win2k 里为winnt)
再将php目录里的 php5ts.dll拷到 系统目录(system/system32) 如我的是C:\windows\system32里
配置apache2\conf目录下的httpd.conf.
将DocumentRoot项改为 DocumentRoot "d:/server/myphp"
在最后部分增加php模块
LoadModule php5_module "d:/server/php/php5apache2.dll"
AddType application/x-httpd-php .php

找到 AddDefaultCharset ISO-8859-1 将其改为 AddDefaultCharset GB2312 (让默认语言编码为简体中文),一般不要加这个,让浏览器自动判断。

此时PHP环境基本已经配置成功
在WEB根目录(如我的D:\website)里建一个名为test.php的文件内容如下
<? echo phpinfo(); ?>
重新启动apache服务
用浏览器打开 http://localhost/test.php
如果可以看到php配置输出信息就OK了

2007-03-29 15:34:58
WinXP+apache_2.0.43+php-5.1.6+mysql-5.0.15+phpMyAdmin-2.8.2.4 完全配置2

第三部分:配置php.ini并测试mysql
配置php.ini并测试mysql(php.ini为 c:\windows下的 php.ini)

找到extension_dir = "./" 改为 extension_dir = "d:/server/php/ext"
找到
;extension=php_mysql.dll
将';'去掉改为
extension=php_mysql.dll
再mysql的bin目录下的libmysql.dll 拷贝到system32目录下
找到
;session.save_path = "/tmp"
将';'去掉 设置你保存session的目录,如
session.save_path = "D:/php/session_temp";

重启apache服务
在Web根目录下(如 c:\myphp)建立testdb.php文件内容如下:
<?php
$link=mysql_connect('localhost','root','123456');
if(!$link) echo "fail";
else echo "success";
mysql_close();
?>
用浏览器打开http://localhost/testdb.php 如果输出success就OK了

第四部分:phpmyadmin的配置

打开D:\server\MyPhp\phpMyAdmin\db_details.php
找到
$cfg['Servers'][$i]['user'] = 'root';
$cfg['Servers'][$i]['password'] = '123456';
分别填上你mysql的用户和密码即可
$cfg['blowfish_secret'] = '12345654321'; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */
$cfg['Servers'][$i]['nopassword'] = false;
用浏览器打开http://localhost/phpmyadmin/index.php看到操作界面就OK了
如不是本地使用,最好加上验证

 

发表评论

昵   称:
验证码:  点击图片可刷新验证码  博客过2级,无需填写验证码
内   容: