TWiki 作為功能強大的 Wiki 系統,在 Linux 環境下整合 LDAP 認證時,常因 Perl 模組相容性問題導致報錯。本文提供兩種經實測有效的修復方案,助你快速解決部署難題。
安裝 LDAP 後訪問 TWiki,Apache 錯誤日誌顯示:
[Mon Dec 15 09:40:17 2014] [error] [client 172.17.60.125] view: defined(%hash) is deprecated at /var/www/twiki/lib/CPAN/lib//Locale/Maketext/Lexicon.pm line 286. [Mon Dec 15 09:40:17 2014] [error] [client 172.17.60.125] view: \t(Maybe you should just omit the defined()?) [Mon Dec 15 09:40:18 2014] [error] [client 172.17.60.125] view: Use of uninitialized value $tag in lc at /var/www/twiki/lib/TWiki/I18N.pm line 64.
defined(%hash) 語法$tag 變量未初始化即調用 lc() 函數編輯 /var/www/twiki/lib/CPAN/lib/Locale/Maketext/Lexicon.pm 第 286 行,移除 defined:
# 修改前
if (defined(%{$hash})) { ... }
# 修改後
if (%{$hash}) { ... }
編輯 /var/www/twiki/lib/TWiki/I18N.pm 第 64 行附近:
my $tag = shift;
if (not $tag) { return ''; } # fix
$tag = lc($tag);
my $tag = shift;
$tag = lc($tag || ''); # fix
systemctl restart httpd 或 service apache2 restart通過以上兩步修復,即可消除 TWiki 整合 LDAP 時的 Perl 相容性錯誤,恢復系統正常運行。
Ubuntu Chromium 安裝 Flash Player (PepperFlash) 完整圖文教學
Linux tail 指令完整指南:即時追蹤日誌、顯示末 N 行、從第 N 行開始、多檔案監控
CentOS 6.x 修改網卡名稱三大法:udev 規則、setup 工具、grub 參數 + 重命名配置檔
解決 Linux 下 Java 無法正確渲染思源黑體:字體相容性遷移指南
Linux Shell 指令掃描 PHP Webshell 木馬完整清單:特徵匹配、近期異動檔案、權限收斂
openSUSE 升級至 13.2 完整指南:倉庫切換、zypper dup 流程、Btrfs 預設、GNOME 3.14、YaST 改進