Phalcon模块已加载,但仍然可以类';找不到


Phalcon module loaded but still class can't be found

我已经在我的vServer上安装了Phalcon,它似乎已经加载,但如果我试图运行网站,我会得到一个错误

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

php-v

PHP 5.6.0(cli((内置时间:2015年6月11日08:33:51(版权所有(c(1997-2015 PHP集团Zend Engine v2.6.0,版权所有(c(1998-2015 Zend Technologies

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

此外,phpinfo((中没有列出Phalcon;页

看起来您更改了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操作系统中很常见。在这种情况下,请在终端上键入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重新启动服务器并检查是否有效。