Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/266.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP Zend Framework:localhost尝试运行时出现内部服务器错误500;Lucene.php“;在浏览器上_Php_Zend Framework_Lucene_Zend Search Lucene - Fatal编程技术网

PHP Zend Framework:localhost尝试运行时出现内部服务器错误500;Lucene.php“;在浏览器上

PHP Zend Framework:localhost尝试运行时出现内部服务器错误500;Lucene.php“;在浏览器上,php,zend-framework,lucene,zend-search-lucene,Php,Zend Framework,Lucene,Zend Search Lucene,我运行的是Windows7,我有一个新安装的Zend framework。在一个名为“search.php”的新php文件上,我试图使用Zend_search_Lucene构建一个搜索应用程序,第一行是: <?php require_once "C:...\Zend\Search\Lucene.php";?> 当我运行这段代码时,我在浏览器上看到的是内部服务器错误500..然后我发现,每当我试图单独运行Zend library中的一些文件时,就会出现此错误,这就是我提到的错误的

我运行的是Windows7,我有一个新安装的Zend framework。在一个名为“search.php”的新php文件上,我试图使用Zend_search_Lucene构建一个搜索应用程序,第一行是:

<?php require_once "C:...\Zend\Search\Lucene.php";?>

当我运行这段代码时,我在浏览器上看到的是内部服务器错误500..然后我发现,每当我试图单独运行Zend library中的一些文件时,就会出现此错误,这就是我提到的错误的原因..即localhost/Zend/Search/Lucene.php上的错误500,localhost/Zend…/blablabla.php

但是,某些文件在浏览器上运行时未显示此500服务器错误。ie:localhost/Zend/ProgressBar.php显示一个空页面,这很好,因为我假设代码中没有任何“echo”。这正是我在浏览器上运行lucene.php时所期望的


有经验的人能告诉我这是怎么发生的吗?为什么我得到的是内部服务器错误而不是异常?如何检查使用“Lucene.php”文件的搜索应用程序是否正常运行,而不考虑此内部服务器错误?谢谢。

尝试打开错误报告:

在飞行中

ini_set('display_errors', 1);
error_reporting(E_ALL);
php.ini中的(php和cli可能不同)

有关更多信息,请参阅:


尝试打开错误报告:

在飞行中

ini_set('display_errors', 1);
error_reporting(E_ALL);
php.ini中的(php和cli可能不同)

有关更多信息,请参阅:


Zend的代码依赖于他们的自动加载器。您得到一个错误,因为您没有初始化它,然后在Zend_Search_Lucene中它尝试实例化一个不存在的类

这应该可以做到:

require_once 'Zend/Loader.php';
Zend_Loader::registerAutoload();
self::$zendLoaded = true;

Zend的代码依赖于他们的自动加载器。您得到一个错误,因为您没有初始化它,然后在Zend_Search_Lucene中它尝试实例化一个不存在的类

这应该可以做到:

require_once 'Zend/Loader.php';
Zend_Loader::registerAutoload();
self::$zendLoaded = true;

我终于解决了这个问题:)在查看错误跟踪之后,内部服务器错误是因为代码
试图访问“Lucene.php”中的特定代码,该代码包含到Zend library文件夹的相对路径=
require_once('Zend\Search\Document\…')并且服务器不知道文件的路径。需要修复的实际上是我添加的include_路径上的php.ini文件
;C:\php5\pear;C:\Server\www\…\ZendFramework\library
。现在它显示的是空页,而不是内部服务器错误


+1@Arend:错误报告功能非常有用!感谢

我终于解决了这个问题:)查看错误跟踪后,内部服务器错误是因为代码
试图访问“Lucene.php”中的特定代码,该代码包含到Zend library文件夹的相对路径=
require_once('Zend\Search\Document\…')并且服务器不知道文件的路径。需要修复的实际上是我添加的include_路径上的php.ini文件
;C:\php5\pear;C:\Server\www\…\ZendFramework\library
。现在它显示的是空页,而不是内部服务器错误


+1@Arend:错误报告功能非常有用!谢谢

因为我无法对答案发表评论,所以我重复使用Maerlyn的代码:

require_once 'Zend/Loader.php';
Zend_Loader::registerAutoload();
self::$zendLoaded=true无法工作,因为未定义
self


根据ZF文档,如果您的路径设置正确,这两行就足够了。

由于我无法对答案进行注释,因此我重复使用Maerlyn的代码:

require_once 'Zend/Loader.php';
Zend_Loader::registerAutoload();
self::$zendLoaded=true无法工作,因为未定义
self


根据ZF文档,如果您的路径设置正确,这两行就足够了。

我将您的代码添加到我的php文件中,它仍然抛出相同的内部服务器错误。但是,正如我所说,Loader.php本身在浏览器上运行良好(显示白色空白页)。Loader本身只定义类,不做其他任何事情。难怪它能工作(显示一个带有http 200的空白白色页面)。启用display_errors并重试。我将您的代码添加到我的php文件中,它仍然抛出相同的内部服务器错误。但是,正如我所说,Loader.php本身在浏览器上运行良好(显示白色空白页)。Loader本身只定义类,不做其他任何操作。难怪它能工作(显示一个带有http 200的空白白色页面)。启用“显示错误”,然后重试。