500(服务不可用(带有消息)) - php

我试图在发送jquery帖子后调用db_update(),所以我需要包括drupal_bootstrap才能使用Drupal函数,这是我的代码:

MyModuleAPI.php

if (!defined('DRUPAL_ROOT')) {
    define('DRUPAL_ROOT', $_SERVER['DOCUMENT_ROOT']. 'mysite');
    chdir(DRUPAL_ROOT);
}
include_once(DRUPAL_ROOT.'/includes/bootstrap.inc');
drupal_bootstrap(DRUPAL_BOOTSTRAP_DATABASE);

function set_server($host,$port){

        db_update('server')...
                    ->execute();
     ...
}

$query = isset($_POST['query']) ? $_POST['query']: null;
$params = isset($_POST['params']) ? $_POST['params']: null;

switch ($query)
{   case "set_server" :
       ...
        set_server($host,$port);
        break;

}

MyModuleAjax.js

function ajax_set_server(serverHost,serverport){
    var pathUrl="path/to/includes/MyModuleAPI.php";

        jQuery.ajax({
            type: "POST",
            url: pathUrl,
            data: {query: "set_server", params:[serverHost,serverport]},
            success: function (response) {                
                console.log("set server resp "+response);
                return false;
            }
        });
}

我的问题是发送请求时得到:

POST http://localhost/path/to/includes/MyModuleAPI.php 500 (Service unavailable (with message))

我不知道问题是否出在引导程序上,还是已经合法。请帮忙。

php参考方案

以我的经验,尝试将数据发送到php文件时出现500错误表示该文件中的php代码有问题。

虽然我不能确定可能是什么错误,但我可以确定如何使用developers tools来显示php错误。选择network选项卡以查看所有请求(您的ajax请求应显示在其中,并带有目标php文件名)。现在选择该请求,在response preview下,您应该看到导致上述500错误的php错误。

修复该错误后,您的请求应该可以正常工作(200个代码-成功)。

php:是否有充分的理由引用所有数组键/索引? - php

我正在遍历别人的代码,他们总是避免转义其数组键。例如:$ row_rsCatalogsItems [名称]代替$ row_rsCatalogsItems ['名称']因此,我不断地对自己接触的所有事物进行微小的更改,以应对这些惰性。但是现在我想知道这样做是否有很多好处。我得到它会在默认为字符串之前检查常量(我在处理常量时会讨厌php中的行为,因为即使未定义,…

PHP标头功能不起作用 - php

我曾经使用此功能从一个PHP页面重定向到另一个:header( 'Location: student.php?cnp='.$_REQUEST['name']) ; 在我的本地主机中,它确实可以工作,但是如果在Internet中对其进行测试,则不会重定向。我也尝试给出完整的路径(如http://.../student.p…

PHP数组可以这样做吗? - php

可以说;我有一个$ friends数组,其中有2,000个不同的friendID号+我有一个带有10,000 bulletinID号的$ bulletins数组,该$ bulletins数组还将具有另一个值,该ID的用户ID是发布公告条目的用户现在可以获取所有具有与FriendsID数组中的userID匹配的userID的bulletinID号吗?甚至有可能…

PHP中的可选函数输入 - php

我注意到在一些内置的PHP函数中,例如str_replace,有一些可选的输入变量。我可以在自己的函数中有可选的输入变量吗?如果是这样,怎么办?谢谢,布赖恩 php参考方案 第一种方法是对某些参数使用默认值:function doStuff($required, $optional = '', $optional2 = '�…

php fopen相对路径断开-神秘 - php

我知道“必须进行某些更改”,但是我的代码似乎整夜无故中断。我的服务器目录结构是这样的: / /脚本 /审计 /其他事情我在“脚本”文件夹中有一个脚本(假设它被称为“ /scripts/MyScript.php”),该脚本使用curl收集网页中的数据,并将其日期过的副本保存在“审核”文件夹中。要写入审核文件夹,我使用了 $ fh = fopen(“ ./ au…