我试图让 Solarium 在 Centos 6.5 上运行,并安装 PHP (5.3.3) 和 Apache HTTPD 的 rpm 安装。
我按照网站上的说明创建了一个文件夹 /var/www/php(位于 php.ini 的包含路径中)并下载了 composer。然后我在composer.json中输入了以下内容:
{
"require": {
"solarium/solarium": "3.*"
}
}
并运行“php composer.phar install”。
我现在正在尝试运行 Solarium 示例文件夹中的示例(特别是 1.1 Solr Ping 示例)。为此,我修改了 init.php 以包含以下行:
要求('供应商/autoload.php');
我已经确认 vendor/autoload.php 正在通过向其添加打印语句来运行。
但是,当我运行示例时,我得到:
Fatal error: Class 'Solarium_Version' not found in /var/www/html/test/1.1-check-solarium-and-ping.php on line 7
或者如果我注释掉第 7 行:
Fatal error: Class 'Solarium_Client' not found in /var/www/html/test/1.1-check-solarium-and-ping.php on line 10
因此,日光浴室文件似乎没有按预期加载。
不确定这是日光浴室还是作曲家的问题(我怀疑是后者)。任何人都可以提出一种调试方法吗?
发出命令“php composer.phar dump-autoload”只会生成消息:
Generating autoload files
这是正确的(我假设不是基于命令的描述)?
跑步:
php composer.phar diagnose
给出:检查 composer.json: FAIL 名称:缺失且需要 描述:缺失且需要 未指定许可证,建议这样做。对于闭源软件,您可以使用“专有”作为许可。检查平台设置:失败
Your PHP (5.3.3) is quite old, upgrading to PHP 5.3.4 or higher is recommended.
Composer works with 5.3.2+ for most people, but there might be edge case issues.
Checking git settings: OK
Checking http connectivity: OK
Checking disk free space: OK
Checking composer version: FAIL
Your are not running the latest version
没有一个看起来是致命的。那是对的吗?
非常感谢
保罗
更新:
更多信息。向 vendor/composer/autoload_real.php 添加一些打印语句给出:
(由 autoload_namespaces.php 创建的 $map)
Symfony\Component\EventDispatcher\ -
Array ( [0] => /var/www/php/vendor/symfony/event-dispatcher )
Solarium\ -
Array ( [0] => /var/www/php/vendor/solarium/solarium/library )
(由 autoload_classmap.php 创建的 $classMap)
classMap -
Array ( )
classmap 的空数组似乎很奇怪。那是对的吗?
谢谢
磷