首页 > 后端开发 > php教程 > apache运行正常而iis提示错误500可能会是什么问题

apache运行正常而iis提示错误500可能会是什么问题

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
发布: 2016-06-23 13:27:09
原创
812 人浏览过

include('conn/conn.php');
var_dump($mysqli);
$sql="select * from user where username=? and password=? and var_zhibu=?";
$stmt=$mysqli->prepare($sql);
$stmt->bind_param("sss", $username, $password, $var_zhibu);
var_dump($stmt);
$username=@$_POST['username'];
$password=md5(@$_POST['password']);
$var_zhibu=@$_POST['zhibu'];

$stmt->execute();

if (!$stmt->fetch()) {
echo "<script>alert('登陆失败');window.location.href='login.php';</script>";
}else{
session_start();
$_SESSION['username']=$username;
$_SESSION['zhibu']=$var_zhibu;
}

$mysqli->close();
?>

这段在Apache上没问题,我用的是wampserver2.5(Apache 2.4.9),在iis7上提示错误500,请问可能是什么原因
conn.php里就一句话:$mysqli=new mysqli('localhost:3306', 'username', 'password', 'db_name');


回复讨论(解决方案)

是不是端口被apache占用了?
或者是rewrite的写法有错,不支持iis的写法。

打开 php 的错误显示功能,就可知道问题的所在

是不是端口被apache占用了?
或者是rewrite的写法有错,不支持iis的写法。



不是端口问题 ,我每次只开Apache或者只开iis

$stmt=$mysqli->prepare($sql); 
似乎是这句的问题,用IIS时var_dump($stmt)结果是null

mysqli 没有装好吧。
在iis下看看phpinfo(); 有没有mysqli扩展。

打开 php 的错误显示功能,就可知道问题的所在



[04-Sep-2015 03:58:58 Europe/Paris] PHP Warning:  mysqli::mysqli():  in E:\wamp\www\phpsite\conn\conn.php on line 2
[04-Sep-2015 03:58:58 Europe/Paris] PHP Stack trace:
[04-Sep-2015 03:58:58 Europe/Paris] PHP   1. {main}() E:\wamp\www\phpsite\welcome.php:0
[04-Sep-2015 03:58:58 Europe/Paris] PHP   2. include() E:\wamp\www\phpsite\welcome.php:10
[04-Sep-2015 03:58:58 Europe/Paris] PHP   3. mysqli->mysqli() E:\wamp\www\phpsite\conn\conn.php:2
[04-Sep-2015 03:58:58 Europe/Paris] PHP Warning:  mysqli::prepare(): Couldn't fetch mysqli in E:\wamp\www\phpsite\welcome.php on line 13
[04-Sep-2015 03:58:58 Europe/Paris] PHP Stack trace:
[04-Sep-2015 03:58:58 Europe/Paris] PHP   1. {main}() E:\wamp\www\phpsite\welcome.php:0
[04-Sep-2015 03:58:58 Europe/Paris] PHP   2. mysqli->prepare() E:\wamp\www\phpsite\welcome.php:13
[04-Sep-2015 03:58:58 Europe/Paris] PHP Fatal error:  Call to a member function bind_param() on a non-object in E:\wamp\www\phpsite\welcome.php on line 15
[04-Sep-2015 03:58:58 Europe/Paris] PHP Stack trace:
[04-Sep-2015 03:58:58 Europe/Paris] PHP   1. {main}() E:\wamp\www\phpsite\welcome.php:0

mysqli 没有装好吧。
在iis下看看phpinfo(); 有没有mysqli扩展。



我装完wampserver,mysqli用的好好的,在iis装了PHPmanager,显示mysqli 已经 enabled了啊

打开 php 的错误显示功能,就可知道问题的所在



知道问题所在 可不知道怎么解决。。

打开 php 的错误显示功能就那么难吗?

日志提供的信息太少,太简要
[04-Sep-2015 03:58:58 Europe/Paris] PHP Warning:  mysqli::prepare():  Couldn't fetch mysqli in E:\wamp\www\phpsite\welcome.php on line 13
无法读取mysqli

用http://php.net/manual/en/mysqli.construct.php上的example,结果:

Connect Error (2002) 由于目标计算机积极拒绝,无法连接。 

打开 php 的错误显示功能就那么难吗?

日志提供的信息太少,太简要
[04-Sep-2015 03:58:58 Europe/Paris] PHP Warning:  mysqli::prepare():  Couldn't fetch mysqli in E:\wamp\www\phpsite\welcome.php on line 13
无法读取mysqli



我打开display error = on了 可是网页上仍然只显示错误500,我也不知道为什么

mysqli 没有装好吧。
在iis下看看phpinfo(); 有没有mysqli扩展。



有的

错误找到了。由于IIS和wampserver不能同时开,当我开iis时候就关了wampserver,于是wampserver的wampmysqld64服务也就没开(早先曾被我设成手动,所以也没随机启动),wampmysqld64的作用应该从名字上就能理解,没有它所以连不上wamp里的mysql。就这样,感谢各位热心参与

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板