我正在尝试在OSX上安装Phalcon开发工具。我已经安装了Phalcon,并且工作正常。
我已经按照这里的指示进行操作:http://docs.phalconphp.com/en/latest/reference/mactools.html
当我在终端中运行phalcon
命令时,得到以下输出:
Phalcon Developer Tools Installer
Make sure phalcon.sh is in the same dir as phalcon.php and that you are running this with sudo or as root.
Installing Devtools...
Working dir is: /Users/me/phalcon-tools
Done. Devtools installed!
现在如何使用devtools?当我输入
phalcon commands
时,输出与上面的完全相同,并继续告诉我它已安装。我在这里想念什么吗?
我在
phalcon.sh
脚本中注意到,最后它具有:if check_install; then
php "$PTOOLSPATH/phalcon.php" $*
fi
因此,如果check_install通过,请运行
phalcon.php
。我尝试手动运行此脚本,但终端上没有任何 react 。$PTOOLSPATH
已定义。我使用echo $PTOOLSPATH
确认了这一点。我的
/usr/bin/env php
是正确的,并指向MAMP的PHP。我目前使用MAMP安装了Phalcon。我的PHP是正确的:which php
/Applications/MAMP/bin/php/php5.5.23/bin/php
检查
phalcon.php
脚本,并使用xdebug,我发现问题出在这里:if (!extension_loaded('phalcon')) {
throw new Exception(
sprintf(
"Phalcon extension isn't installed, follow these instructions to install it: %s",
Script::DOC_INSTALL_URL
)
);
}
因此,尚未加载Phalcon扩展程序。不知道为什么它不在终端中打印异常的输出。但是,PHP的错误日志显示:
[21-May-2015 22:37:48 Europe/Berlin] PHP Fatal error: Class 'Phalcon\Script' not found in /Users/me/phalcon-tools/phalcon.php on line 41
现在我很困惑。
编辑:
运行
php -m
显示未安装Phalcon。这很奇怪,因为我在Web应用程序中使用了Phalcon,而且效果很好。如您所见,我已将扩展程序加载到php.ini
中。我使用的PHP版本是:
PHP 5.5.23 (cli) (built: Apr 9 2015 19:29:27)
如您所见,Phalcon在正确的目录中:
ls /Applications/MAMP/bin/php/php5.5.23/lib/php/extensions/no-debug-non-zts-20121212
apcu.so
imagick.so
phalcon.so
...
正如您从
phpinfo()
所看到的,它已经安装好了...以下命令也都给出不同的结果:
显示Phalcon已安装:
echo "<?php phpinfo(); ?>" | php > phpinfo.txt && cat phpinfo.txt | grep phalcon
显示未安装Phalcon:
php -m
有任何想法吗?
最佳答案
尝试了很多之后,我发现reference中显示的代码是错误的:
ln -s ~/phalcon-tools/phalcon.sh ~/phalcon-tools/phalcon
chmod +x ~/phalcon-tools/phalcon
正确的方法可以在github repo中找到:
ln -s ~/phalcon-devtools/phalcon.php /usr/bin/phalcon
chmod ugo+x /usr/bin/phalcon
基本上,链接不应该是脚本,而应该是php文件。解决此问题后,我可以正确运行开发工具。
关于php - Phalcon devtools不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30383734/