最近在使用typecho上传附件时,插入远程图片是没问题的,但本地图片会报上传失败。网上找了许多方法,最后得到了解决。
解决办法
我的博客是搭建在腾讯服务器上的,Typecho会对服务器进行监测,如果不在BAE、SAE、ACE下,则不允许文件上传。事实上,可以去掉这一段监测代码。
打开/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;
}
做了上面一步发现还不行。
把typecho里的usr文件权限修改为777,就可以了。
注意chmod要递归。
进入博客目录
sudo chmod -R 777 usr
然后可以上传本地图片了。
修改PHP上传附件大小限制
修改php.ini文件
注意修改PHP下的php.ini文件是无效的,要修改fpm下的php.ini文件
使用locate找到所有php.ini
locate php.ini
找到fpm目录下的php.ini
我的路径是
/etc/php5/fpm/php.ini
sudo vi /etc/php5/fpm/php.ini
修改下面三项
upload_max_filesize = 1000M;
post_max_size = 1000M;
max_execution_time=600;
重新加载php-fpm服务
sudo service php7.0-fpm reload