原文: Typecho:上传图片失败解决办法并修改图片大小限制

问题

使用typecho上传附件时,插入远程图片是没问题的,但本地图片会报上传失败.

解决方案

博客是搭建在腾讯服务器上的,Typecho会对服务器进行监测,如果不在BAE、SAE、ACE下,则不允许文件上传.

因此,可以去掉这一段监测代码.

[1] - 编辑 var/Typecho/Common.php 文件,修改如下代码:

修改前:

public static function isAppEngine()
{
   return !empty($_SERVER['HTTP_APPNAME'])                     // SAE
       || !!getenv('HTTP_BAE_ENV_APPID')                       // BAE
       || !!getenv('SERVER_SOFTWARE')                          // BAE 3.0
       || (ini_get('acl.app_id') && class_exists('Alibaba'))   // ACE
       || (isset($_SERVER['SERVER_SOFTWARE']) && strpos($_SERVER['SERVER_SOFTWARE'],'Google App Engine') !== false) // GAE;
}

修改后为:

public static function isAppEngine()
{
    return false;
}

[2] - 修改上传文件夹 usr/uploads/ 的权限:

sudo chmod -R 777 /path/to/blog/usr/uploads

至此,即可上传本地图片.

修改 PHP 上传附件大小的限制

修改php.ini文件.

注意修改PHP下的php.ini文件是无效的,要修改fpm下的php.ini文件

[1] - 使用 locate 找到所有php.ini

locate php.ini

[2] - 找到 fpm 目录下的php.ini

我的路径是/etc/php/7.0/fpm/php.ini

sudo vim /etc/php/7.0/fpm/php.ini

[3] - 修改下面三项

upload_max_filesize = 1000M;
post_max_size = 1000M;
max_execution_time=600;

[4] - 重新加载php-fpm服务

sudo service php7.0-fpm reload

Last modification:October 15th, 2018 at 03:24 pm