技术知识分享

Chevereto更换服务器报错 Chevereto Free error: Internal Server Error 解决方法

宝塔面板永久版优惠券

其实之前小白就写过这个问题,不过现在看来是小白之前判断错误了。其实Chevereto图床程序是有调试模式的。所以遇到Chevereto Free error: Internal Server Error这个报错的时候第一时间应该是打开调试模式,看看具体是什么问题导致了报错。之前就是简单判断作者存在网络校验是错误的。实测免费版可以在内网环境中使用。

Chevereto打开调试模式
找到网站程序下的配置文件/app/settings.php,其中$settings['debug_level'] = 1;这段就是调试模式级别。
按照官方说法,
0 无
1 错误日志(默认)
2 打印错误,没有错误日志
3 打印和记录错误
这里直接把模式调到3。

调试模式报错信息

Fatal error [400]: SQLSTATE[HY000] [2002] Connection refused
Triggered in /lib/G/classes/class.db.php at line 98

Stack trace:
#0 /lib/G/classes/class.db.php(109): G\DB->__construct()
#1 /app/loader.php(52): G\DB::getInstance()
#2 /index.php(20): include_once('/app/loader.php')

故障原因
小白搜了下:Fatal error [400]: SQLSTATE[HY000] [2002] Connection refused,其实就是MySQL拒绝链接,仔细看下是端口错误。

解决方法
修改Chevereto配置文件/app/settings.php,中的$settings['db_host'] = 'localhost:3306';,其中3306为MySQL数据库端口号。修改成对应的端口号即可。

备注
大写的尴尬,之前判断错误。
Chevereto有报错记得开启调试模式。一般都能解决。

未经允许不得转载:pc6a学习分享 » Chevereto更换服务器报错 Chevereto Free error: Internal Server Error 解决方法
腾讯云服务器秒杀

评论 24

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
  1. #1

    请问在哪里看这个调试信息啊?

    狼来了2周前 (09-04)回复
    • 修改配置文件后,打开网页就可以看到调试信息。

      小白2周前 (09-04)回复
      • 请问是F12 看console里的调试信息? 抱歉,愚钝,还是没找到您图中的调试信息在哪,好像我的图床只要传大图片,就提示 Server error (Internal server error)

        狼来了2周前 (09-05)回复
      • [img]http://218.93.208.16:9200/ImageMessage_5d712fe4b1c9130e757353c2_1567703342324.png[/img]
        开着nginx防火墙,死活无法上传大于512K的图片。更改nginx.conf, php.ini 都没用。。。。
        原来是proxy.conf的锅。。。 默认的设置是512K,更改这里后,开启nginx防火墙也能传大图片了

        狼来了2周前 (09-06)回复
        • 解决就好,调试模式是修改网站程序的代码,不是F12。

          小白2周前 (09-06)回复
  2. #2

    谢谢了,原来是这个锅 https://mikublog.com/tech/1429

    狼来了2周前 (09-05)回复
  3. #3

    Fatal error [400]: SQLSTATE[HY000] [2002] Permission denied
    Triggered in /chevereto/lib/G/classes/class.db.php at line 98

    Stack trace:
    #0 /chevereto/lib/G/classes/class.db.php(109): G\DB->__construct()
    #1 /chevereto/app/loader.php(52): G\DB::getInstance()
    #2 /chevereto/index.php(20): include_once(‘/chevereto/app/loader.php’)

    这个和您显示的是一样的,但是使用你的方法修改了以后还是无效,找不到问题出在哪里。
    安装环境:
    Centos7.6 系统
    PHP7.3.9
    MySQL 8.0.17

    已经排查过的问题如下:
    1.在windows下使用navicat远程连接正常(端口:3306,账户密码正常)
    2.setting文件配置正常,如下:
    <?php
    $settings['db_host'] = '127.0.0.1';
    $settings['db_port'] = 'port';
    $settings['db_name'] = 'name';
    $settings['db_user'] = 'user';
    $settings['db_pass'] = 'password';
    $settings['db_table_prefix'] = 'chv_';
    $settings['db_driver'] = 'mysql';
    $settings['debug_level'] = 1;

    duanqiao7天前回复
    • 你再仔细看看端口号(我一开始也是认为肯定是3306,后来发现我居然自己改过了),或者换个端口号试试。用户名密码也重新换下试试。

      我看问题跟你的都是一样的,还有安全组有没有放行,实在不行建议安装宝塔面板再试试。

      小白7天前回复
      • 感谢您的热心回复。
        但是我能肯定的是端口号是3306,原因如下:
        1.使用navicat远程时需要填写的端口号就是3306
        2.网站使用的端口号就是3306,登录没有问题的。

        duanqiao7天前回复
        • 服务器IP设置成 localhost,也可以试试。或者主机的内网、外网IP。

          小白7天前回复
      • 可否帮忙确认下这样的填写方式是不是正确的
        <?php
        $settings['db_host'] = '127.0.0.1';
        $settings['db_port'] = '3306';
        $settings['db_name'] = 'wordpress1';
        $settings['db_user'] = 'root';
        $settings['db_pass'] = '1234567';
        $settings['db_table_prefix'] = 'chv_';
        $settings['db_driver'] = 'mysql';
        $settings['debug_level'] = 3;

        duanqiao7天前回复
        • 还真是不对的呢。我的是这样的。

          $settings[‘db_host’] = ‘localhost:端口’;
          $settings[‘db_name’] = ‘秘密’;
          $settings[‘db_user’] = ‘秘密’;
          $settings[‘db_pass’] = ‘秘密’;
          $settings[‘db_table_prefix’] = ‘chv_’;
          $settings[‘db_driver’] = ‘mysql’;
          $settings[‘db_pdo_attrs’] = [];
          $settings[‘debug_level’] = 1;

          小白7天前回复
          • 这是古官方的配置格式
            <?php
            $settings['db_host'] = '127.0.0.1';
            $settings['db_port'] = 'port';
            $settings['db_name'] = 'name';
            $settings['db_user'] = 'user';
            $settings['db_pass'] = 'password';
            $settings['db_table_prefix'] = 'chv_';
            $settings['db_driver'] = 'mysql';
            $settings['debug_level'] = 1;

            duanqiao7天前
        • 你试试我这个格式的配置文件。

          小白7天前回复
          • 报错,具体如下:
            System error
            The system has encountered errors that must be fixed to allow proper Chevereto functionality. Chevereto won’t work until the following issues are solved:

            No write permission in /chevereto/images/ directory. Chevereto needs to be able to write in this directory.
            No write permission in /chevereto/content/ directory. Chevereto needs to be able to write in this directory.
            No write permission in /chevereto/app/content/ directory. Chevereto needs to be able to write in this directory.
            /chevereto/app/content/locks/ doesn’t exists. Make sure to upload it.
            Need help or questions about this? Go to Chevereto support.

            duanqiao7天前
          • 非常感谢,我有重新安装过PHP、MySQL、chevereto等都还是不行
            chevereto已经换过了三个版本了,结果一样。
            谢谢

            duanqiao7天前
          • 哈哈,我要安利你用宝塔面板。

            小白7天前
        • 这些目录没有权限。授权给使用PHP跟Nginx的账户名。如果是宝塔面板就是给与WWW账户755权限。

          小白7天前回复
          • 真诚的感谢。
            我的目录都检查过了,方式找不到原因我都授权为777的
            修改权限已经修改为apache:apache了的。
            只要settings文件填写成我发的那种格式就不会这样报错的。

            duanqiao7天前
          • 重新下载一份程序试试吧,还有你是什么原因要迁移的。迁移后的环境有没有出问题。

            小白7天前
          • 另外服务器安装了其他服务,所以不能安装宝塔面板。
            谢谢

            duanqiao7天前
          • 我是第一次安装chevereto,不是迁移的。
            至于环境问题,在这之前安装了wordpress,但是运行一切正常。

            duanqiao7天前
          • 第一次安装就很好办了。删掉文件跟数据库重新来一遍。看看是哪里出错了。换个小版本的也可以。

            小白7天前
          • 谢谢
            受诸多环境影响,只能这样装
            如果有新的消息请及时告知,我在线等。

            duanqiao7天前