问题
使用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