PHP Fatal error: Uncaught Error: Class 'ZipArchive' not found in /usr/local/ispconfig/server/lib/classes/

May 21, 2019 - Reading time: 1 minutes

When trying to install an APS package on a ISPConfig3 system, the package was never installed and the status “installation_task” remained for the site I tried to install a package.

Investigating /var/log/ispconfig/cron.log revealed:

PHP Fatal error: Uncaught Error: Call to undefined function curl_init() in /usr/local/ispconfig/server/lib/classes/

This problem can occur when curl is not installed on the target server, but that was not the problem in this case.

The server had been upgraded to Ubuntu 18.04 which runs PHP 7.2 instead of PHP 5. Curl was installed but the problem was that php7.2-curl was missing. The problem was resolved by:

sudo apt-get install php7.2-curl

The next issue that occured according to the logs was:

PHP Fatal error: Uncaught Error: Class 'ZipArchive' not found in /usr/local/ispconfig/server/lib/classes/

This problem was resolved by:

sudo apt-get install php7.2-zip

After this nothing more had to be done. The ISPConfig cron now successfully installed the APS package automatically. Tags: aps, curl, ispconfig3, php, Ubuntu

Ispconfig 3

May 7, 2019 - Reading time: 1 minutes

$ sudo sh /usr/local/ispconfig/server/ 07.05.2019-05:47 - WARNING - There is already a lockfile set, but no process running with this pid (24592). Continuing.

PHP Fatal error: Uncaught Error: Class 'ZipArchive' not found in /usr/local/ispconfig/server/lib/classes/ Stack trace:

0 /usr/local/ispconfig/server/lib/classes/ ApsInstaller->getContentFromZIP('/usr/local/ispc...', 'APP-META.xml')

1 /usr/local/ispconfig/server/plugins-available/ ApsInstaller->installHandler('2', 'install')

2 /usr/local/ispconfig/server/lib/classes/ aps_plugin->install('aps_instance_up...', Array)

3 /usr/local/ispconfig/server/mods-available/ plugins->raiseEvent('aps_instance_up...', Array)

4 /usr/local/ispconfig/server/lib/classes/ web_module->process('aps_instances', 'u', Array)

5 /usr/local/ispconfig/server/lib/classes/ modules->raiseTableHook('aps_instances', 'u', Array)

6 /usr/local/ispconfig/server/server.php(180): modules->processDatalog()

7 {main}

thrown in /usr/local/ispconfig/server/lib/classes/ on line 106


May 7, 2019 - Reading time: 2 minutes

Keep it civil aka don’t be a jerk

We’re going to get into the thick of a lot of heated discussions and that’s okay. These discussions often entail topics that we all personally care a lot about and will passionately defend. But in order for discussions to thrive here, we need to remember to criticize ideas, not people.

So, remember to avoid:

ad hominem attacks
Responding to a post’s tone instead of its actual content.
knee-jerk contradiction

Comments that we find to be hateful, inflammatory, or harassing may be removed. If you don’t have something nice to say about another user, don't say it. Treat others the way you’d like to be treated. Always strive to add value to every interaction and discussion you participate in

There are a lot of discussions that happen every day on Disqus. Before joining in a discussion, browse through some of the most recent and active discussions happening in the community, especially if you’re new there.

If you are not sure your post adds to the conversation, think over what you want to say and try again later. Keep it tidy

Help make moderators’ lives easier by taking a moment to ensure that what you’re about to post is in the right place. That means:

don’t post off-topic comments or discussions: check the Explore page to find the appropriate channel for your topic
don’t cross-post the same thing multiple times
review any specific posting guidelines for the community: some communities such as a movies community may have specific rules regarding spoilers.
check if another active discussion on your topic has already been posted

If you see something, say something

Moderators are at the forefront of combatting spam, mediating disputes and enforcing community guidelines and, so are you.

If you see an issue, contact the moderators if possible or flag any comments for review. If you believe someone has violated the Basic Rules, report it to Disqus by flagging the user's profile.