I moved my osTicket (version 1.9.12) installation from a server with Ubuntu 14.04 LTS (using PHP 5.5) to a server with Ubuntu 18.04 LTS (using PHP 7.2). By move I mean that I copied the files and the database to the new server using the same directory structure and the same domain. I got a lot of PHP errors on the new server. So I upgraded osTicket to the lastet version 1.12.2 by following the instructions on the "Upgrade and Migration" website.

Unfortunately I still have one PHP error:

AH01071: Got error 'PHP message: PHP Warning: Use of undefined constant FILTER_ACTION_TABLE - assumed 'FILTER_ACTION_TABLE' (this will throw an Error in a future version of PHP) in /home/.../helpdesk/include/class.filter_action.php on line 113\nPHP message: PHP Fatal error: Uncaught Error: Call to undefined function __() in /home/.../helpdesk/include/class.queue.php:2989\nStack trace:\n#0 /home/.../helpdesk/include/class.search.php(26): require_once()\n#1 /home/.../helpdesk/include/class.user.php(20): require_once('/home/pages/eig...')\n#2 /home/.../helpdesk/bootstrap.php(184): require('/home/pages/eig...')\n#3 /home/.../helpdesk/main.inc.php(27): Bootstrap::loadCode()\n#4 /home/.../helpdesk/scp/login.php(16): require_once('/home/...')\n#5 {main}\n thrown in /home/.../helpdesk/include/class.queue.php on line 2989\n'

I have no ideas how to fix this. I am happy about any hint or tip. Many thanks in advance!

So ther error here is

PHP Fatal error: Uncaught Error: Call to undefined function __() in /home/.../helpdesk/include/class.queue.php

It is saying that the __() function does not exist. This function is used to translate text. The most likely cause is that not all the files uploaded to the site. I would try re-uploading the files from the distribution archive from osticket.com/download

Thanks a lot, after a re-upload I managed to get past the upgrade screen. Unfortunately I now see some database errors (I removed the table prefix for security reasons):

[SELECT A1.id, A1.form_id, A1.type, A1.label, A1.required, A1.private, A1.edit_mask, A1.name, A1.configuration, A1.sort, A1.hint, A1.created, A1.updated, A2.id, A2.type, A2.deletable, A2.title, A2.instructions, A2.notes, A2.created, A2.updated FROM form_field A1 LEFT JOIN form A2 ON (A1.form_id = A2.id) WHERE A1.form_id = 2 ORDER BY A1.sort ASC]

Unknown column 'A1.required' in 'field list'

[SELECT A1.id, A1.content_id, A1.isactive, A1.type, A1.name, A1.body, A1.lang, A1.notes, A1.created, A1.updated FROM content A1 WHERE A1.type = 'banner-staff' ORDER BY A1.name ASC]

Unknown column 'A1.content_id' in 'field list'

[SELECT A1.id, A1.form_id, A1.object_id, A1.object_type, A1.sort, A1.created, A1.updated, A2.id, A2.type, A2.deletable, A2.title, A2.instructions, A2.notes, A2.created, A2.updated FROM form_entry A1 LEFT JOIN form A2 ON (A1.form_id = A2.id) WHERE A1.object_type = 'C' ORDER BY A1.sort ASC]

Unknown column 'A2.deletable' in 'field list'

[SELECT A1.staff_id, A1.group_id, A1.dept_id, A1.role_id, A1.username, A1.firstname, A1.lastname, A1.passwd, A1.backend, A1.email, A1.phone, A1.phone_ext, A1.mobile, A1.signature, A1.lang, A1.timezone, A1.locale, A1.notes, A1.isactive, A1.isadmin, A1.isvisible, A1.onvacation, A1.assigned_only, A1.show_assigned_tickets, A1.change_passwd, A1.max_page_size, A1.auto_refresh_rate, A1.default_signature_type, A1.default_paper_size, A1.extra, A1.created, A1.lastlogin, A1.passwdreset, A1.updated, COUNT(DISTINCT A3.staff_id) AS teams_count, A2.id, A2.pid, A2.tpl_id, A2.sla_id, A2.email_id, A2.autoresp_email_id, A2.manager_id, A2.flags, A2.name, A2.signature, A2.ispublic, A2.group_membership, A2.ticket_auto_response, A2.message_auto_response, A2.path, A2.updated, A2.created FROM staff A1 JOIN department A2 ON (A1.dept_id = A2.id) LEFT JOIN team_member A3 ON (A1.staff_id = A3.staff_id) GROUP BY A1.staff_id ORDER BY A1.firstname ASC, A1.lastname ASC LIMIT 25]

Unknown column 'A1.group_id' in 'field list'

Is there any way to fix this without starting from scratch?

Many thanks in advance!

It sounds like your upgrade failed spectacularly. Maybe you didn't restore your database before you re-ran the upgrader?

@mjasinski

Just restore from backup from before you attempted any upgrade and then re-upgrade on the new server.

Cheers.

Thanks a lot for your input!

I started the upgrader again with a fresh copy of the database from my old server. The upgrade process failed again which results in database errors.

In my error log are multiple entries with this error:

[Thu Aug 01 13:46:52.347526 2019] [proxy_fcgi:error] [pid 72310] [client 80.153.37.162:58449] AH01071: Got error 'PHP message: PHP Fatal error: Uncaught IntlException: datefmt_create: no such time zone: '': U_ILLEGAL_ARGUMENT_ERROR in /home/pages/.../helpdesk/include/class.config.php:367\nStack trace:\n#0 /home/pages/eigene/.../helpdesk/include/class.config.php(367): IntlDateFormatter->__construct('de_DE', 3, -1, '', 1)\n#1 /home/pages/.../helpdesk/include/ajax.config.php(43): OsticketConfig->getDateFormat(true)\n#2 /home/pages/.../helpdesk/include/staff/footer.inc.php(66): ConfigAjaxAPI->scp(false)\n#3 /home/pages/.../helpdesk/scp/upgrade.php(88): require('/home/pages/eig...')\n#4 /home/pages/.../helpdesk/scp/admin.inc.php(34): require('/home/pages/eig...')\n#5 /home/pages/.../helpdesk/scp/upgrade.php(16): require_once('/home/pages/eig...')\n#6 /home/pages/.../helpdesk/scp/staff.inc.php(122): require('/home/pages/eig...')\n#7 /home/pages/.../helpdesk/scp...\n', referer: https://.../helpdesk/scp/upgrade.php

Is this error preventing the upgrader from working correctly?

Every hint is highly appreciated.

Write a Reply...