Home > Backend Development > PHP Tutorial > apache运行正常而iis提示错误500可能会是什么问题

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

WBOY
Release: 2016-06-23 13:27:09
Original
801 people have browsed it

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。就这样,感谢各位热心参与

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template