好的,当我将其上载到服务器时,结果证明这非常有效,但在IDE(Zend Studio/Eclipse)中测试时,它试图通过完整的文件路径进行访问,而该文件路径触发了权限错误。
我怀疑Zend/Eclipse的权限和phar包存在一些问题。不过,我不确定有什么解决方案可以让它在IDE中工作。
一年后编辑,添加了一个全面的答案:
用压缩文件版本(解压缩)替换phar与Zend Studio完美配合。您可以使用AWS
autoloader.php
文件,但如果您不想与自己的自动加载器发生冲突,请使用
spl_autoload_register
,我建议创建一个文件副本,以删除其自动加载程序:
我放置了一个名为
aws_init.php
位于与
aws-autoloader.php
他们的自动装弹机脱掉了:
require __DIR__ . '/Aws/functions.php';
require __DIR__ . '/GuzzleHttp/functions_include.php';
require __DIR__ . '/GuzzleHttp/Psr7/functions_include.php';
require __DIR__ . '/GuzzleHttp/Promise/functions_include.php';
require __DIR__ . '/JmesPath/JmesPath.php';
代替呼叫
aws自动加载器。php
,只需调用此新的精简版本
aws\u初始化。php
确保加载所有函数。
对于自动加载器,我使用以下方法:
spl_autoload_register(function ($class_name) {
if (strpos($class_name,'\\') !== false) $class_name = str_replace('\\','/',$class_name);
if (file_exists('inc/classes/'.$class_name.'.php')) {
include('inc/classes/'.$class_name.'.php');
return;
}
die('Unable to autoload class: inc/classes/'.$class_name);
});
当我在AWS文件夹中添加时,这项工作无需任何修改(
AWS
,
GuzzleHttp
,
Psr
,
JmesPath
)直接发送到
classes
文件夹Zend Studio能够在这个设置中看到这些类而没有问题。