【问题标题】:Phalcon module loaded but still class can't be foundPhalcon 模块已加载但仍找不到类
【发布时间】:2015-09-23 05:12:44
【问题描述】:

我已经在我的 vServer 上安装了 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 集团 Zend Engine v2.6.0,版权所有 (c) 1998-2015 Zend Technologies

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

另外,Phalcon 没有在 phpinfo() 中列出;页面。

【问题讨论】:

  • 如果它没有在phpinfo() 中列出,你可能错过了extension=phalcon.so 周围的一些东西,根据this doc。或者你错过了重启 apache。
  • 我检查了 extension=phalcon.so 并重新启动了 httpd 并重新启动了整个服务器。仍然 phalcon 显示在 php -m 但不在 phpinfo();
  • php -m 运行 CLI 版本,phpinfo() 您可以从非 cli 中大量观看,并且两者都可能有单独的配置。如果您使用的是 Ubuntu 和 apache2,请确保在两个配置中都启用了扩展。也可以试试what this says
  • 不,我使用的是 CentOS 6.6,当我这样做时:php --re Phalcon | grep 版本。我得到了这个扩展 [ extension #40 phalcon version 2.0.3 ] { Property [ protected static $_version ]。也许这可以帮助发现问题。

标签: php apache phalcon php-extension


【解决方案1】:

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

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

【讨论】:

  • 这个答案有帮助。您可以检查您的phpinfo 以确定包含哪些 php.ini 以及您的模块是否确实已加载
【解决方案2】:

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

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

【讨论】:

    【解决方案3】:

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

    【讨论】:

      【解决方案4】:

      有时在安装 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重启你的服务器并检查它是否有效。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-05-29
        • 2012-04-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-05-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多