我使用JQuery创建一个AJAX请求:
$.ajax({
type: "GET",
url: "getvideo.php",
data: 'videoid=' + vid,
我使用firebug告诉我发生了什么,它告诉我发生了500内部服务器错误?以下是相关脚本的一部分:
$videoid = $_GET['videoid'];
$get = new youtubeAPI();
$get->getVideoAPI($videoid);
class youtubeAPI extends Exception {
function getVideoAPI($videoid){
if (isset($videoid)) {
$clientLibraryPath = 'library';
$oldPath = set_include_path(
get_include_path() . PATH_SEPARATOR . $clientLibraryPath
);
require_once 'Zend/Loader.php'; // the Zend dir must be in your include_path
我对其他脚本使用相同的AJAX调用,它们很好。我在另一台服务器上使用过这些脚本,并且除了在另一台服务器上,文件名为“getvideo.php5”,而在这里我把它命名为“getvideo.php”,因为我有PHP 5.2.6仅安装。
请帮忙
这是错误:
[Wed Feb 11 20:48:17 2009] [错误] [client xx.xx.xxx.xxx] PHP致命错误:在/ var / www / html / library / Zend / Gdata中找不到类'DOMDocument'第734行的/App.php,引用者:http://xx.xx.xx.xxx/
我藏了我的IP。在那一行:
public static function importString($string, $className='Zend_Gdata_App_Feed') {
// Load the feed as an XML DOMDocument object
@ini_set('track_errors', 1);
$doc = new DOMDocument(); // LINE 734
$success = @$doc->loadXML($string);
@ini_restore('track_errors');
但我不应该玩那个吧?在任何情况下,该类不作为脚本存在,并且在该脚本中不作为类存在。我在我的其他服务器上使用这个相同的图书馆。它也缺少???这是我从Youtube API zip文件夹下载的内容。
这是一个全新的服务器,它安装了最少的PHP。我缺少PHP dom功能。快速安装修复了这个问题。谢谢你提醒我查看日志。我应该先尝试一下。
yum install php-xml
yum install php-xmlrpc
答案 0 :(得分:9)
尝试在浏览器中自己手动执行调用(同样的事情)并查看返回的内容。如果没有返回任何内容并且您收到500内部服务器错误,则需要查看日志并查看导致此错误发生的原因。
还要确保您正在对正确的域进行ajax调用。如果您尝试呼叫您的域名,则每次呼叫都会失败。
答案 1 :(得分:2)
什么? .php5
?我不知道你的apache配置(假设你甚至使用它),但.php
适用于所有版本的PHP。
无论如何,尝试直接访问该URL并查看会发生什么,这与Ajax无关。另请查看您的Web服务器日志。
答案 2 :(得分:0)
确保正确设置权限。 在justhost.com服务器上遇到同样的问题 将我的php脚本的权限设置为0644,一切顺利。
答案 3 :(得分:0)
我有类似的问题,但解决方案不同。检查您是否已上传PHP代码中引用的所有文件。我发现我通过ajax调用的文件引用了缺少定义文件的类,服务器为此返回了500 Internal server error
。
答案 4 :(得分:0)
可能你只有一个PHP代码错误copy
和past
(url)
并将告诉你错误修复它,一切都应该没问题
祝你好运
答案 5 :(得分:-5)
我有同样的错误。 Firebug会告诉你500内部服务器错误。