【发布时间】:2013-01-21 10:55:11
【问题描述】:
我正在尝试从一个简单的 LAMP 站点开始,但似乎无法让 Zend 框架被我的本地 Apache 实例拾取。我从 Windows 上的 XAMPP 开始,然后尝试使用手动安装 Apache/PHP 的 Centos 6 VM,但仍然在下面的两者上遇到相同的错误。 phpinfo() 工作正常,网站的其他部分也是如此。
Fatal error: Class 'Zend\Log\Logger' not found in /var/www/html/site/public/test.php on line 20
我的网站代码是一个调用 Zend 框架记录器的相当简单的测试,如下所示
use Zend\Log\Logger;
use Zend\Log\Writer;
echo "<p>Hello world</p>";
echo $_POST["VIN"];
phpinfo();
$logger = new Zend\Log\Logger;
$writter = new Zend\Log\Writer\Stream('php://output');
$logger->addWriter($writer);
?>
我的 Apache linux httpd.conf 是
<VirtualHost *:80>
DocumentRoot /var/www/html/site/public
<Directory /var/www/html/site/public>
DirectoryIndex test.php
AllowOverride All
Order allow,deny
Allow from all
</Directory>
我的 Zend 框架位于 /var/www/html/site/library/Zend 中,我也将 /var/www/html/site/library 添加到 php.ini 包含中。
【问题讨论】:
-
您需要将 Zend 库路径添加到您的 PHP 包含路径或实现某种从指定路径加载文件的自动加载器。
-
include_path .:/php/includes:/var/www/html/site/library 当前已设置
-
您是否启用了自动加载器?
-
感谢 Sam 和 Gordon,这是丢失的自动装弹机,遗憾的是在 framework.zend.com/manual/2.0/en/user-guide/overview.html 中根本没有提到这一点
标签: php apache zend-framework2