通過檢視te的原始碼發現,te的附件資訊是以以下方式存放在contents表中的:
var/widget/upload.php 檔案目錄
/*其中$struct['text']返回的是序列化的附件資訊字串,其結構如下:/var/widget/upload.php
line:120
*/$result = array(
'name' => $file['name'],
'path' => self::upload_path . '/' . $date->year .'/'. $date->month . '/' . $filename,
'size' => $file['size'],
'type' => $ext,
'mime' => typecho_common::mimecontenttype($path)
);
/* ..... ...... */
/*/var/widget/upload.php
line:258
*/$struct = array(
'title' => $result['name'],
'slug' => $result['name'],
'type' => 'attachment',
'status' => 'publish',
'text' => serialize($result),
'allowcomment' => 1,
'allowping' => 0,
'allowfeed' => 1
);
將 s:38:"/usr/files/201201/4f01d62cb3bfc.zip"因為少了乙個"/"字串的長度少了1,到此,問題終於解決了。改為 s:37:"/usr/files/201201/4f01d62cb3bfc.zip"
總結:typecho確實寫得非常好,通過研究te的原始碼,自己也學了不少。順便感謝下 mr.jiang 同學的提醒。
因此,可以去掉這一段監測**.
修改前:
修改後為:
[2] - 修改上傳資料夾usr/uploads/
的許可權:
sudo chmod -r 777 /path/to/blog/usr/uploads
至此,即可上傳本地.
修改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;
sudo service php7.0-fpm reload
MySQL binlog日誌存放位置的修改
最近專案上裝的mysql服務,分配的磁碟空間太小了,導致binlog日誌兩天時間就能打滿,這裡記錄下處理方式。mysql的binlog日誌是乙個很重要的日誌,以事件形式記錄了所有的ddl和dml 除了資料查詢語句 語句,還包含執行的消耗的時間,在資料丟失的緊急情況下,我們可以利用binlog日誌功能...
const static變數存放位置
我們將以下面的例子介紹const變數和static變數的存放位置 static int val a 1 初始化的靜態變數 int val b 2 全域性變數 const int val c 3 const 全域性變數 static int val d 未初始化的靜態變數 int val e 未初始化...
Docker 資料存放位置
預設 docker 的存放位置為 var lib docker 命令檢視具體位置 docker info grep docker root dir 具體docker容器存放位置 docker ps a docker inspect 容器id grep volumes 檢視資料目錄 data dock...