0

在我的 symfony 2.2 应用程序中,我想使用 PHPExcel 库。所以我下载了它,并将 Classes 库的内容复制到 /vendor/phpexcel 目录:

vendor/
    phpexcel/
        PHPExcel/
        PHPExcel.php

之后,我在 $loader = require ... 行下面的 app/autoload.php 中添加了以下内容:

$loader = require __DIR__.'/../vendor/autoload.php';

//The following was added
$loader->registerPrefixes(array(
    'PHPExcel' => __DIR__ . '/../vendor/phpexcel'
));

// intl
...

现在,如果我浏览到我的 Web 应用程序,它会返回 HTTP 错误 500(内部服务器错误)。我阅读了以下帖子,但无法解决问题: 如何在 Symfony 2 中正确使用 PHPExcel 有人可以帮我纠正这个问题吗?

4

3 回答 3

4

您永远不应手动下载某些内容并将其放入vendor目录中。Composer 管理供应商目录,因此应该保存以删除该目录并composer install再次运行。默认情况下,该vendor目录也从 Git 中排除。

要使用 composer 安装 PHPExcel,请将其添加到composer.json

"require": {
    ...
    "phpexcel/phpexcel": "1.7.*"
}

与 Composer 一起安装时,您也不必担心自动加载。

于 2013-03-29T06:12:19.063 回答
1

我为 PHPExcel 安装了https://github.com/liuggio/ExcelBundle。Bundle 包括 PHPExcel(添加了 composer 的相关链接)。您可以轻松地使用 PHPExcel,而不用想知道捆绑包的内容。打电话new \PHPExcel();然后你搬家。我希望这个捆绑包有所帮助。

于 2013-03-29T10:47:13.353 回答
0

Composer 似乎对 SELinux 有问题。看到这个。虽然不推荐,但将 SELinux 设置为 permissive 可能是一种解决方法。

于 2013-04-10T09:46:20.883 回答