首頁 > 後端開發 > php教程 > apache运行正常而iis提示错误500可能会是什么问题

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

WBOY
發布: 2016-06-23 13:27:09
原創
789 人瀏覽過

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
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板