Phalcon 模块已加载,但仍然找不到 class

Phalcon module loaded but still class can't be found

我已经在我的虚拟服务器上安装了 Phalcon,它似乎已加载, 但是如果我尝试访问 运行 网站,我会收到错误消息

PHP Fatal error: Class 'Phalcon\Config\Adapter\Ini' not found in /home...

php-v

PHP 5.6.10 (cli)(内置:2015 年 6 月 11 日 08:33:51) 版权所有 (c) 1997-2015 PHP Group Zend Engine v2.6.0,版权所有 (c) 1998-2015 Zend Technologies

我按照 Phalcon 网站上的说明进行操作。 如果我使用 php -m Phalcon 列出 php 模块,我没有 任何错误,只是不知道为什么它不起作用!

此外,Phalcon 未在 phpinfo() 中列出;页。

您似乎更改了 php 控制台客户端的配置,但该配置与 apache 中的 php 模块不同。

查看正在为 apache 模块加载的配置

在安装 phalcon 以使扩展正常工作时,请确保重新启动 nginx / apache2,如果你是 运行 PHP 作为模块 php5-fpm 服务.

$ sudo service nginx restart
$ sudo service php5-fpm restart

我遇到了同样的问题,原因是我用源代码重新编译了php,但之后没有重新编译phalcon。我通过使用正确的 phpize.

再次编译 phalcon 解决了这个问题

有时安装 phalcon 时,它会为自己创建一个单独的 .ini 文件并在其中添加扩展名。这在 mac 和 linux OS 中很常见。在这种情况下,在终端上输入 php --ini。您应该会看到类似于以下内容的输出...

Configuration File (php.ini) Path: /usr/local/etc/php/5.6
Loaded Configuration File:         /usr/local/etc/php/5.6/php.ini
Scan for additional .ini files in: /usr/local/etc/php/5.6/conf.d
Additional .ini files parsed:      /usr/local/etc/php/5.6/conf.d/ext-mongodb.ini,
/usr/local/etc/php/5.6/conf.d/ext-phalcon.ini

如您所见,phalcon 创建了 /usr/local/etc/php/5.6/conf.d/ext-phalcon.ini 文件。

解决方案:

使用 sudo nano /usr/local/etc/php/5.6/conf.d/ext-phalcon.ini 打开文件,复制加载扩展的行并粘贴到 /usr/local/etc/php/5.6/php.ini 如果你使用 XAMPP,复制行到 /Applications/XAMPP/xamppfiles/etc/php.ini 重新启动您的服务器并检查它是否有效。