【发布时间】:2012-02-06 13:48:30
【问题描述】:
已解决,阅读帖子底部:
我正在尝试按照official instructions 在 Windows 上安装 Sparks 包管理器。 发出这个命令:
php -r "$(curl -fsSL http://getsparks.org/go-sparks)"
导致此错误消息:
解析错误:语法错误,第 1 行命令行代码中出现意外的 ':'
如果我只在上面的行中执行 curl 命令,即:
curl -fsSL http://getsparks.org/go-sparks
它会回显位于 URL 上的 php 脚本。所以我认为问题在于将 curl 输出传送到 PHP 以某种方式失败。我尝试了几种变体,使用不同的引号等,但我不知所措。
我的解决方案 正如 DaveRandom 指出的那样,该指令不适用于 windows。
但我没有以手动(正常)方式进行操作,而是从 curl 获取输出,附加 php 脚本标签并使用 php -f 选项将其作为文件执行。
这是输出:
<?php
$zip = "http://getsparks.org/static/install/spark-manager-0.0.7.zip";
$loader = "http://getsparks.org/static/install/MY_Loader.php.txt";
if(!file_exists("application/core"))
{
echo "Can't find application/core. Currently this script only works with the default instance of Reactor. You may need to try a manual installation..\n";
exit;
}
echo "Pulling down spark manager from $zip ...\n";
copy($zip, "sparks.zip");
echo "Pulling down Loader class core extension from $loader ...\n";
copy($loader, "application/core/MY_Loader.php");
echo "Extracting zip package ...\n";
if(class_exists('ZipArchive'))
{
$zip = new ZipArchive;
if ($zip->open('sparks.zip') === TRUE)
{
$zip->extractTo('./tools');
$zip->close();
} else {
echo "Extraction failed .. exiting.\n";
exit;
}
} elseif(!!@`unzip`) {
`unzip sparks.zip -d ./tools`;
} else
{
echo "It seems you have no PHP zip library or `unzip` in your path. Use the manual installation.\n";
exit;
}
echo "Cleaning up ...\n";
@unlink('sparks.zip');
echo "Spark Manager has been installed successfully!\n";
echo "Try: `php tools/spark help`\n";
【问题讨论】:
标签: php windows codeigniter curl command-line-interface