【问题标题】:CodeIgniter Error After Changing PHP from 5.6 to 7.0 on HostGator via SSH通过 SSH 在 HostGator 上将 PHP 从 5.6 更改为 7.0 后出现 CodeIgniter 错误
【发布时间】:2018-11-04 18:17:18
【问题描述】:

正如标题所述,在将 PHP 从 5.6 更改为 7.0 后,我现在在 CI 上收到此错误。如果我恢复到 5.6,它工作正常,但我需要我的服务器在 7.0 上。

遇到了 PHP 错误

严重性:核心警告

消息:PHP 启动:SourceGuardian:无法初始化模块 使用模块 API=20121212 编译的模块 使用模块 API=20151012 编译的 PHP 这些选项需要匹配

文件名:未知

行号:0

回溯:

【问题讨论】:

    标签: php codeigniter codeigniter-2 codeigniter-3 php-7


    【解决方案1】:

    来自我 2013 年的博文:https://delboy1978uk.wordpress.com/2013/10/30/manually-compiling-php-modules-successfully/

    这看起来很眼熟?

    PHP Warning:  PHP Startup: memcached: Unable to initialize module
    Module compiled with module API=20090626
    PHP    compiled with module API=20100525
    These options need to match
    

    我不了解你,但我喜欢跟上时代!我的 PHP 是 5.5,我必须安装一些模块。但有时,旧版本会抬起丑陋的脑袋,引起各种悲伤。包管理器可以很好地为您处理所有这些,但有时它们根本不起作用。让你自己编译!所以让我们去做吧!我要安装 memcached,然后是 imagick 库(现在我知道我在做什么了!)

    我在 CentOS 6 服务器上执行此操作,但由于我们正在执行旧的 skool 编译方式等,这应该适用于任何其他风格的 Linux,甚至 Mac OS X。

    第一步是下载你的 .tar.gz 然后用 tar -zxvf file.tar.gz 解压并进入文件夹。

    打开一个显示您的服务器 php.ini 的网页。您正在寻找 PHP API 的版本,以及 extension_dir。

    在您的终端中,cd 进入模块源代码文件夹,然后键入 phpize。

    如果你查看API版本时发现和你的php.ini不一样,那么说明终端使用的是旧版本的php,你的模块将无法工作!在这种情况下,您需要让它使用正确的 phpize。

    键入which phpize 以找出有问题的文件在哪里。 (我的是 /usr/bin/phpize)

    我的 PHP 似乎位于 /usr/local,所以我尝试运行 /usr/local/phpize。 API 匹配。所以我做了以下事情:

    mv /usr/bin/phpize /usr/bin/phpize-old
    ln -s /usr/local/bin/phpize /usr/bin/phpize
    

    成功了一半!我们需要对 php-config 做同样的事情

     mv /usr/bin/php-config /usr/bin/php-config-old
     ln -s /usr/local/bin/php-config /usr/bin/php-config
    

    现在您已经完成了,安装应该很简单,并且可以根据网络上的大量教程/说明页面工作。

    ./configure
     make
     make install
    

    最后编辑您的 php.ini 并添加“extension = memcached.so”(或您编译的任何模块),然后重新启动您的 apache 服务器!

    编辑:如果它仍在使用模块源文件夹中的旧内容进行编译,您可能需要运行“phpize –clean”

    【讨论】:

    • 您知道如何访问这些路径吗?根据我的托管服务提供商的说法,它位于 /usr/local/bin/php (SOURCE) 但由于访问被拒绝,我似乎只能访问 /home 路径下的任何内容,而不是 /usr。我会尝试就此事联系主机提供商。
    【解决方案2】:

    下载支持 PHP 7.X 的最新 SourceGuardian 模块: https://www.sourceguardian.com/loaders/download.php

    【讨论】:

      猜你喜欢
      • 2016-03-27
      • 2019-01-25
      • 2016-03-18
      • 2018-11-14
      • 2023-03-14
      • 2021-04-27
      • 2016-03-09
      • 1970-01-01
      • 2018-05-30
      相关资源
      最近更新 更多