博客 > 【Plesk經(jīng)驗(yàn)分享】如何應(yīng)對(duì)內(nèi)部錯(cuò)誤:解析元數(shù)據(jù)失敗
瀏覽量:5762次評(píng)論:0次
作者:Christina時(shí)間:2019-09-05 23:46:00
適用版本:
Plesk 11.x for Linux
Plesk 11.x for Windows
Plesk 12.5 for Linux
Plesk 12.5 for Windows
問(wèn)題描述
1. 無(wú)法打開(kāi)域名控制面板(Domain Control Panel),并出現(xiàn)下面的錯(cuò)誤:
Internal error: Failed to parse metadata
Message Failed to parse metadata
File aps_php.php
Line 12559
Type Exception
2. 無(wú)法檢查APS包設(shè)置:
# /usr/local/psa/bin/aps --get-packages-global-settings
Failed to parse metadata
或出現(xiàn)下面的錯(cuò)誤信息:
# /usr/local/psa/bin/aps --get-packages-global-settings
PHP Warning : aps_registry_packageconfiguration_getglobalsettings(): Entity: line 7: parser error : Char 0x0 out of allowed range; File: /usr/share/aps_php/aps_php.php, Line: 10024
PHP Warning : aps_registry_packageconfiguration_getglobalsettings(): ; File: /usr/share/aps_php/aps_php.php, Line: 10024
...
Failed to parse metadata
3. 無(wú)法安裝應(yīng)用程序
4. 無(wú)法在 Plesk上從 工具與設(shè)置 > 應(yīng)用百寶箱 > 清除緩存 實(shí)現(xiàn)緩存清除:
Internal error: Cannot find package cache directory: '/usr/local/psa/var/apspackages/apscatalog7R2ZJ5.zipb17fa7a9-c64e-c0'
Message Cannot find package cache directory: '/usr/local/psa/var/apspackages/apscatalog7R2ZJ5.zipb17fa7a9-c64e-c0'
File Content.php
Line 73
Type CommonPanel_Aps_Cache_Exception
原因
出現(xiàn)該問(wèn)題是因?yàn)?metafile_uri'目錄(來(lái)自apsc.aps_package 表)在服務(wù)器上缺失或 APP-META.xml 文件已損壞。
解決方案
Windows:
1. 使用RDP連接服務(wù)器。
2. 請(qǐng)復(fù)制下面的腳本并以文件名 restore-cache.ps1 進(jìn)行保存:
$arr=@((plesk bin aps -gp | Select-String -Pattern "Name|Version" | Out-String | Foreach {$_ -replace ".*:\s*", '' }).Split("`r|`n",[System.StringSplitOptions]::RemoveEmptyEntries))
for ($i = 0; $i -le $arr.Count; $i = $i + 2){plesk bin aps -d -package-name $arr[$i] -package-version $arr[$i+1]}
3. 右擊該腳本并選擇 在Powershell中運(yùn)行。
Linux:
1. 使用SSH連接服務(wù)器。
2. 請(qǐng)復(fù)制下面的腳本并以文件名 restore-cache.sh 進(jìn)行保存:
?#!/bin/bash
?name=
?i=0
?for line in `plesk bin aps -gp | awk? '/Name:|Version:/ {print $2}'`;
do
?if [ $((i%2)) -eq 0 ];
? then
?? name=$line
?? ((++i))
? else
?? plesk bin aps -d -package-name $name -package-version $line
?? i=0
? fi
done
3. 令其成為可執(zhí)行文件并運(yùn)行它:
# chmod +x restore-cache.sh
# ./restore-cache.sh
如果該問(wèn)題在10分鐘后仍然存在,請(qǐng)執(zhí)行下面的步驟:
1. 清除應(yīng)用緩存:工具與設(shè)置 > 應(yīng)用百寶箱 > 清除緩存
2. 如果無(wú)法清除緩存請(qǐng)創(chuàng)建所報(bào)告的目錄然后再試:
# mkdir /usr/local/psa/var/apspackages/apscatalog7R2ZJ5.zipb17fa7a9-c64e-c0 # chown -R psaadm:psaadm /usr/local/psa/var/apspackages/apscatalog7R2ZJ5.zipb17fa7a9-c64e-c0
3. 請(qǐng)務(wù)必確保在config文件 /usr/local/psa/admin/conf/panel.ini中禁用SQL查詢調(diào)試。啟用調(diào)試則無(wú)法運(yùn)行腳本。
4. 登錄到MySQL服務(wù)器:
# MYSQL_PWD=`cat /etc/psa/.psa.shadow` mysql -u admin apsc
5. 通過(guò)下面的sql查詢確定 metafile_uri 路徑:
mysql> select `id`, `name`, `version`, `release`, `metafile_uri` from apsc.aps_package;
+-----+-----------+---------+---------+----------------------------------------------------------------------------------+
| id | name | version | release | metafile_uri |
+-----+-----------+---------+---------+----------------------------------------------------------------------------------+
| 66 | WordPress | 2.3.3 | 5 | /usr/local/psa/var/apspackages/556229a0-5008-41b5-83d1-3c0b32649196/APP-META.xml |
| 77 | WordPress | 3.3.1 | 4 | /usr/local/psa/var/apspackages/2abd12d2-7017-46ee-a80b-ed42599f7c0a/APP-META.xml |
| 106 | WordPress | 3.5.2 | 2 | /usr/local/psa/var/apspackages/c22666c4-b469-4eb2-a0e7-7c6f3f4f11eb/APP-META.xml |
+-----+-----------+---------+---------+----------------------------------------------------------------------------------+
3 rows in set (0.00 sec)
6. 請(qǐng)確保服務(wù)器上存在 'metafile_uri' 目錄。該類目錄應(yīng)如下方式存在:
# ls -la /usr/local/psa/var/apspackages/c22666c4-b469-4eb2-a0e7-7c6f3f4f11eb/APP-META.xml
-rw-r--r-- 1 psaadm psaadm 50828 Mar 12 21:23 /usr/local/psa/var/apspackages/c22666c4-b469-4eb2-a0e7-7c6f3f4f11eb/APP-META.xml
# ls -la /usr/local/psa/var/apspackages/556229a0-5008-41b5-83d1-3c0b32649196/APP-META.xml
-rw-r--r-- 1 psaadm psaadm 21506 Mar 12 21:23 /usr/local/psa/var/apspackages/556229a0-5008-41b5-83d1-3c0b32649196/APP-META.xml
# ls -la /usr/local/psa/var/apspackages/2abd12d2-7017-46ee-a80b-ed42599f7c0a/APP-META.xml
-rw-r--r-- 1 psaadm psaadm 21706 Mar 12 21:23 /usr/local/psa/var/apspackages/2abd12d2-7017-46ee-a80b-ed42599f7c0a/APP-META.xml
7. 請(qǐng)務(wù)必確保所有的 APP-META.xml 文件是可讀的:
# head /usr/local/psa/var/apspackages/a1a41e6f-f5ae-4f80-8e30-788a0a418196/APP-META.xml
如果該文件不可讀或是二進(jìn)制文件,請(qǐng)將其移除并重新創(chuàng)建下面列出的包文件夾。
1. 如果'metafile_uri'目錄丟失,請(qǐng)創(chuàng)建該目錄:
# mkdir /usr/local/psa/var/apspackages/c22666c4-b469-4eb2-a0e7-7c6f3f4f11eb
# mkdir /usr/local/psa/var/apspackages/556229a0-5008-41b5-83d1-3c0b32649196
# mkdir /usr/local/psa/var/apspackages/2abd12d2-7017-46ee-a80b-ed42599f7c0a
2. 從dev.apsstandard.org 將相應(yīng)名稱和版本的APS包下載到在前一個(gè)步驟中創(chuàng)建的目錄中。如果您的WordPress版本未出現(xiàn)在上面提及的頁(yè)面上,請(qǐng)?jiān)L問(wèn) apscatalog.com 。
通過(guò)瀏覽器下載時(shí)可能會(huì)出現(xiàn)nginx 403 Forbidden錯(cuò)誤。如果出現(xiàn)此情況,請(qǐng)復(fù)制生成的鏈接到瀏覽器的存檔,然后使用 wget 工具將其下載,例如:
# wget https://apscatalog.com/storage/wordpress.org/WordPress/2.7.1-2/parallels.com/undefined/undefined/undefined/WordPress-2.7.1-2.app.zip
3. 將zip文件解壓到相同的目錄中,例如:
# ls -la /usr/local/psa/var/apspackages/2abd12d2-7017-46ee-a80b-ed42599f7c0a/
drwxr-xr-x 5 psaadm psaadm 4096 Jan 17 2013 ./
drwxr-xr-x 15 psaadm psaadm 4096 Sep 5 04:34 ../
-rw-r--r-- 1 psaadm psaadm 13434 Jan 17 2013 APP-META.xml
drwxr-xr-x 2 psaadm psaadm 4096 Jan 17 2013 htdocs/
drwxr-xr-x 2 psaadm psaadm 4096 Jan 17 2013 images/
drwxr-xr-x 2 psaadm psaadm 4096 Jan 17 2013 scripts/
4. 將包文件夾上的權(quán)限遞歸地更改為 psaadm:
# chown -R psaadm:psaadm /usr/local/psa/var/apspackages/2abd12d2-7017-46ee-a80b-ed42599f7c0a/
相關(guān)文章推薦
2025-06-19 16:09:38
2025-06-18 14:43:07
2025-06-17 15:43:50
2025-06-16 14:45:13
2025-06-12 16:26:36
熱門工具
標(biāo)簽選擇
閱讀排行
我的評(píng)論
還未登錄?點(diǎn)擊登錄