ich habe gerade auf meinem Debian-System ein Update von Perl vorgenommen. Leider kann ich jetzt das Skript "otrs/scripts/apache2-perl-startup.pl" nicht mehr ausführen. Ich bekomme folgende Fehlermeldung:
In '(?...)', the '(' and '?' must be adjacent in regex; marked by <-- HERE in m/
( # $1 greater-than and less-than sign
> | < | \s+ | \#{6} |
(?: &[a-zA-Z0-9]+; ) # get html entities
)
( # $2
(?: # http or only www
(?: (?: http s? | ftp ) :\/\/) | # http://,https:// and ftp://
(?: (?: www | ftp ) \.) # www. and ftp.
)
)
( # $3
(?: [a-z0-9\-]+ \. )* # get subdomains, optional
[a-z0-9\-]+ # get top level domain
(?: # file path element
[\/\.]
| [a-zA-Z0-9\-]
)*
(?: # param string
[\?] # if param string is there, "?" must be present
[a-zA-Z0-9&;=%]* # param string content, this will also catch entities like &
)?
(?: # link hash string
[\#] #
[a-zA-Z0-9&;=%]* # hash string content, this will also catch entities like &
)?
)
( # $4
? <-- HERE =(?:
[\?,;!\.\)] (?: \s | $ ) # \)\s this construct is because of bug# 2450
| \"
| \]
| \s+
| '
| > # greater-than and less-than sign
| < # "
| (?: &[a-zA-Z0-9]+; )+ # html entities
| $ # bug# 2715
)
| \#{6} # ending LinkHash
)
/ at /usr/share/otrs/Kernel/System/HTMLUtils.pm line 857.
Compilation failed in require at /usr/share/otrs/Kernel/Output/HTML/Layout.pm line 18.
BEGIN failed--compilation aborted at /usr/share/otrs/Kernel/Output/HTML/Layout.pm line 18.
Compilation failed in require at /usr/share/otrs/Kernel/System/Web/InterfaceAgent.pm line 32.
BEGIN failed--compilation aborted at /usr/share/otrs/Kernel/System/Web/InterfaceAgent.pm line 32.
Compilation failed in require at ./apache2-perl-startup.pl line 67.
BEGIN failed--compilation aborted at ./apache2-perl-startup.pl line 67.
o CGI..............................ok (v4.25)
o Crypt::PasswdMD5.................ok (v1.3)
o Crypt::SSLeay....................ok (v0.7304)
o CSS::Minifier....................ok (v0.01)
o Date::Format.....................ok (v2.24)
o Date::Pcalc......................ok (v6.1)
o DBI..............................ok (v1.634)
o DBD::mysql.......................ok (v4.033)
o DBD::ODBC........................Not installed! (Optional - Required to connect to a MS-SQL database.)
o DBD::Oracle......................Not installed! (Optional - Required to connect to a Oracle database.)
o DBD::Pg..........................Not installed! (Optional - Required to connect to a PostgreSQL database.)
o Digest::MD5......................ok (v2.54)
o Digest::SHA::PurePerl............ok (v5.95)
o Digest::SHA......................ok (v5.95)
o Encode::HanExtra.................Not installed! (Optional - Required to handle mails with several Chinese character sets.)
o Encode::Locale...................ok (v1.05)
o GD...............................ok (v2.53)
o GD::Text......................ok (v0.86)
o GD::Graph.....................ok (v1.48)
o GD::Graph::lines..............ok (v1.15)
o GD::Text::Align...............ok (v1.18)
o IO::Scalar.......................ok (v2.110)
o IO::Wrap.........................ok (v2.110)
o JavaScript::Minifier.............ok (v1.11)
o JSON.............................ok (v2.21)
o JSON::PP......................Not installed! (Required - use "perl -MCPAN -e shell;" - Required for AJAX/JavaScript handling.)
o JSON::XS......................ok (v3.01)
o Locale::Codes....................ok (v3.34)
o LWP::UserAgent...................ok (v6.15)
o Mail::Internet...................ok (v2.13)
o Mail::POP3Client.................ok (v2.19)
o IO::Socket::SSL...............ok (v2.022)
o Mail::IMAPClient.................ok (v3.37)
o IO::Socket::SSL...............ok (v2.022)
o MIME::Base64.....................ok (v3.15)
o MIME::Tools......................ok (v5.507)
o ModPerl::Util....................ok (v2.000009)
o Apache::DBI...................ok (v1.12)
o Apache2::Reload...............ok (v0.13)
o Net::DNS.........................ok (v0.81)
o Net::POP3........................ok (v3.05)
o Net::IMAP::Simple................ok (v1.2206)
o Net::IMAP::Simple::SSL........ok (v1.3)
o Net::SMTP........................ok (v3.05)
o Authen::SASL..................ok (v2.16)
o Net::SMTP::SSL................ok (v1.03)
o Net::SMTP::TLS::ButMaintained.Not installed! (Optional - Required for TLS/SMTP connections.)
o Net::LDAP........................Not installed! (Optional - Required for directory authentication.)
o Net::SSL.........................ok (v2.88)
o PDF::API2........................ok (v2.025)
o Compress::Zlib................ok (v2.068)
o SOAP::Lite.......................Not installed! (Optional - Required for the SOAP interface.)
o version.......................ok (v0.9909)
o Class::Inspector..............ok (v1.28)
o Text::CSV........................ok (v1.33)
o Text::CSV_PP..................ok (v1.33)
o Text::CSV_XS..................Not installed! (Optional - Recommended for faster CSV handling.)
o XML::Parser......................ok (v2.44)
o HTTP::Message....................ok (v6.11)
o HTTP::Headers.................ok (v6.11)
o URI..............................ok (v1.71)
o URI::Escape...................ok (v3.31)
o Scalar::Util.....................ok (v1.41)
An dem "JSON::PP" liegt es nicht. Das war vorher auch nicht installiert.
Ich habe die HTMLUtils.pm jetzt durch eine aktuellere Version ersetzt (Wir nutzen noch OTRS 3.1.7) und das funktioniert schon etwas besser. OTRS lässt sich schon mal wieder benutzen. Folgende Meldungen erhalte ich trotzdem noch:
[Fri Jan 22 10:52:55 2016] HTMLUtils.pm: Unescaped left brace in regex is deprecated, passed through in regex; marked by <-- HERE in m/
[Fri Jan 22 10:52:55 2016] HTMLUtils.pm: (&{ <-- HERE .+?})
[Fri Jan 22 10:52:55 2016] HTMLUtils.pm: / at /usr/share/otrs/Kernel/System/HTMLUtils.pm line 1094.
[Fri Jan 22 10:52:55 2016] Layout.pm: Unescaped left brace in regex is deprecated, passed through in regex; marked by <-- HERE in m/
[Fri Jan 22 10:52:55 2016] Layout.pm: \$TimeLong{ <-- HERE "(.*?)"}
[Fri Jan 22 10:52:55 2016] Layout.pm: / at /usr/share/otrs/Kernel/Output/HTML/Layout.pm line 631.
[Fri Jan 22 10:52:55 2016] Layout.pm: Unescaped left brace in regex is deprecated, passed through in regex; marked by <-- HERE in m/
[Fri Jan 22 10:52:55 2016] Layout.pm: \$TimeShort{ <-- HERE "(.*?)"}
[Fri Jan 22 10:52:55 2016] Layout.pm: / at /usr/share/otrs/Kernel/Output/HTML/Layout.pm line 639.
[Fri Jan 22 10:52:55 2016] Layout.pm: Unescaped left brace in regex is deprecated, passed through in regex; marked by <-- HERE in m/
[Fri Jan 22 10:52:55 2016] Layout.pm: \$Date{ <-- HERE "(.*?)"}
[Fri Jan 22 10:52:55 2016] Layout.pm: / at /usr/share/otrs/Kernel/Output/HTML/Layout.pm line 647.
[Fri Jan 22 10:52:55 2016] Layout.pm: Unescaped left brace in regex is deprecated, passed through in regex; marked by <-- HERE in m/
[Fri Jan 22 10:52:55 2016] Layout.pm: \$Text{ <-- HERE "(.*?)"}
[Fri Jan 22 10:52:55 2016] Layout.pm: / at /usr/share/otrs/Kernel/Output/HTML/Layout.pm line 657.
[Fri Jan 22 10:52:55 2016] Layout.pm: Unescaped left brace in regex is deprecated, passed through in regex; marked by <-- HERE in m/
[Fri Jan 22 10:52:55 2016] Layout.pm: \$JSText{ <-- HERE "(.*?)"}
[Fri Jan 22 10:52:55 2016] Layout.pm: / at /usr/share/otrs/Kernel/Output/HTML/Layout.pm line 667.
[Fri Jan 22 10:52:55 2016] Layout.pm: Unescaped left brace in regex is deprecated, passed through in regex; marked by <-- HERE in m/
[Fri Jan 22 10:52:55 2016] Layout.pm: \$Quote{ <-- HERE "(.*?)"}
[Fri Jan 22 10:52:55 2016] Layout.pm: / at /usr/share/otrs/Kernel/Output/HTML/Layout.pm line 684.
[Fri Jan 22 10:52:55 2016] SysConfig.pm: Unescaped left brace in regex is deprecated, passed through in regex; marked by <-- HERE in m/\${ <-- HERE \\\$VAR1->{'.+?'}\[0\]}/ at /usr/share/otrs/Kernel/System/SysConfig.pm line 580.
[Fri Jan 22 10:52:55 2016] SysConfig.pm: Unescaped left brace in regex is deprecated, passed through in regex; marked by <-- HERE in m/\${\\\$VAR1->{ <-- HERE '.+?'}\[0\]}/ at /usr/share/otrs/Kernel/System/SysConfig.pm line 580.
Can't use 'defined(@array)' (Maybe you should just omit the defined()?) at /usr/share/otrs/Kernel/Modules/AdminEmail.pm line 221.
Compilation failed in require at ./apache2-perl-startup.pl line 177.
BEGIN failed--compilation aborted at ./apache2-perl-startup.pl line 177.
Hast Du keine Chance auf OTRS4 oder OTRS5 zu wechseln? Dort gibt es das Problem nicht. Du musst bei den ganzen markierten Stellen aus "{" ein "\{" machen...
Super, danke für die Antwort. Werde das gleich mal ausprobieren.
Doch das Update ist geplant. Es ist nur etwas mühsam, die ganzen Versionen durchzugehen. Kann ich eigentlich von OTRS 3.1.7 direkt auf 4.x.x upgraden oder muss ich erst 3.2.x , 3.3.x usw. durchgehen?