Phalcon devtools不工作

时间:2015-05-21 20:27:10

标签: php phalcon

我正在尝试在OSX上安装Phalcon Dev Tools。我安装了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。我试图手动运行这个脚本,终端没有任何反应。

$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。这很奇怪,因为我在我的网络应用程序中使用Phalcon,它工作正常。如您所见,我已在php.ini中加载了扩展程序。

enter image description here

我正在使用的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()所见,它已安装......

enter image description here

以下命令也会给出不同的结果:

将Phalcon显示为已安装:

echo "<?php phpinfo(); ?>" | php > phpinfo.txt && cat phpinfo.txt | grep phalcon

显示尚未安装Phalcon:

php -m

有什么想法吗?

2 个答案:

答案 0 :(得分:0)

我和你有同样的问题。只要我将这两行添加到〜/ .bash_profile文件中,我就解决了它。

export PATH=$PATH:/Users/scott/phalcon-tools
export PTOOLSPATH=/Users/scott/phalcon-tools

首先,我只将第一行添加到.bash_profile中,我也收到了相同的信息。

答案 1 :(得分:0)

可能在命令行ini文件中没有安装phalcon,因此它会抛出错误。

只需在终端输入此命令即可。

php --ini

然后检查输出有趣的行是

Loaded Configuration File:         /etc/php5/cli/php.ini

现在尝试检查

phalcon.so

也会加载到那里。

对于web和cli,提供了不同的phalcon.so文件,因此我们需要包含&#34; phalcon.so &#34;在两个文件中。

所以 phalcon.so 包含在你的网站php.ini中,所以它在那里运行顺畅而不是我猜的命令行。