【问题标题】:PHP isn't working with xampp/apachePHP 不适用于 xampp/apache
【发布时间】:2017-09-22 08:50:38
【问题描述】:

正如标题中所说,php 不适用于 xampp/apache,而我的所有其他文件 (html/css/js) 都运行良好。
我的 php 调用有问题,还是 php 代码本身有问题?
我的配置是 httpd.conf 和 httpd_vhosts.conf 中的路径是桌面中的一个文件夹;
我的 html 文件(使用 ajax)中的 php 调用是:

$.ajax({
    url: './php/add_events.php',
    data: {'title': eventData.title,'start': eventData.start.format() ,'end': eventData.end.format() ,'areHere':eventData.areHere,'finalConsult':eventData.finalConsult },
    type: "POST",
    success: function(json) {
        alert("OK");
    }
});
$.ajax({
    url: './php/update_events.php',
    data: {'title': $(this).data('calEvent').title,'start': $(this).data('calEvent').start ,'end': $(this).data('calEvent').end ,'areHere':$(this).data('calEvent').areHere,'finalConsult':$(this).data('calEvent').finalConsult ,'id': $(this).data('calEvent').id },
    type: "POST",
    success: function(json) {
        alert("OK");
    }
});
$.ajax({
    url: './php/remove_events.php',
    data: {'id':$(this).data('id')} ,
    type: "POST",
    success: function(json) {
        alert("OK");
    }
});
events: './php/events.php'

请注意,我使用的是 fullcalendar(基于 jquery),并且“remove_events.php”调用是唯一一个向我返回“OK”作为警报的调用。
如果我必须发布 php 代码,请通知我,我会编辑该帖子。
提前谢谢你!

编辑:我想明确指出这些 ajax 调用中的每一个都是 sn-ps 而不是完整代码

编辑 2:浏览器的控制台和网络选项卡中没有错误消息,它们现在都返回“OK”作为警报

编辑 3:这是 add_events.php 的 php 代码,我希望它将从 js 接收到的数据发送到我的数据库:

$title=$_POST['title'];
$start=$_POST['start'];
$end=$_POST['end'];
$areHere=$_POST['areHere'];
$finalConsult=$_POST['finalConsult'];
$typeConsult=$_POST['typeConsult'];
try {
 $bdd = new PDO('mysql:host=localhost;dbname=agenda', 'root', '');
} catch(Exception $e) {
 exit('Connexion failed');
}

$sql = "INSERT INTO evenement (ID_evenement,Nom_patient,Nom_groupe,Type_consultation,Heure_debut,Heure_fin,Consulte_finale,Presence,ID_client,ID_groupe,ID_observe) VALUES ('',:title, '', :typeConsult, :start, :end, :finalConsult, :areHere, '', '','')";

$q = $bdd->prepare($sql);

$q->execute(array(':title'=>$title, ':typeConsult'=>$typeConsult ':start'=>$start, ':end'=>$end, ':finalConsult'=>$finalConsult, ':areHere'=>$areHere));

?>

编辑 4:当我尝试在浏览器中打开 php 文件或从 php 回显一些信息时,它会发送类似 404 的错误

【问题讨论】:

  • 如果其中一个在工作,而另一个却没有,那么要么你将其他人指向错误的位置,要么他们有错误。当您调用那些“不工作”的 URL 时,您会返回什么 HTTP 状态?我看到您的 javascript 代码没有检查错误(通过 ajax“错误”回调),因此您必须检查浏览器的控制台和/或网络选项卡以查看您得到的响应。这将为我们提供有关问题所在的线索。 “不工作”可能意味着 1000 种不同的东西。具体的错误消息会更有用。
  • 好吧,他们之前可能返回了 404 - 你检查了网络标签吗?你也可以从那里得到 HTTP 错误。
  • 在您的开发人员工具中与控制台相同。单击其中的“网络”选项卡。然后你可以看到页面生命周期内发生的所有请求,你可以看到浏览器向服务器发送了什么,收到了什么响应。
  • 所以它现在可以工作了吗? ajax 调用返回什么状态? 200?还是别的什么?
  • 200 表示脚本被调用,PHP 运行且没有错误,并发送响应

标签: php jquery ajax apache xampp


【解决方案1】:

修复这些,这些不是 URL。它看起来更像是一个相对文件路径

 url: './php/add_events.php',

您可以输入包含域的完整 URL:

url: 'http://whatever.com/path/to/add_events.php',

或者没有:

url: '/path/to/add_events.php',

【讨论】:

  • 我对其进行了测试,带有警报的 3 个 sn-ps 发送了警报,但 php 不起作用@delboy1978uk
  • 可以直接在浏览器中访问php脚本吗?即使由于缺少数据而导致错误?网址是什么?
  • 当我尝试直接在浏览器中访问 php 时,它说:警告:未知:无法打开流:第 0 行的未知中没有此类文件或目录
  • 好的,所以试着把前面的点去掉,右键打开网络检查器网络面板,看看你的javascript发出了什么请求
  • @Y.Bernard 如果您使用的是本地服务器,那么您的网址以http://localhost/ 开头,然后是路径
【解决方案2】:

我终于找到了终于简单的问题根源(奇怪的是这里没有人指出它)。 问题来自我的路径,其中包含空格和特殊字符,我的环境配置不接受这些路径。非常感谢大家。

【讨论】:

    猜你喜欢
    • 2013-03-09
    • 2019-10-18
    • 2012-05-24
    • 2016-10-19
    • 2017-07-27
    • 2011-09-09
    • 2017-09-04
    • 2013-10-30
    • 1970-01-01
    相关资源
    最近更新 更多