Call to undefined function: zip_open()

dealclickcouk
dealclickcouk used Ask the Experts™
on

Hi

I wrote a php script that downloads and extracts gz and zip files from a remote server and then unzips them.

I had been dev and testing them on a windows box with php and all worked great, however now that I want to go live with this on a linux server with php version 4.4.1 I get error: Call to undefined function: zip_open()

From what I've read I need to install some librarys on my linux server (dedicated managed remote server).

Unfortunatly this is where my knowledge falls down, as really I'm a PC guy a *nix admin and installation is just not my bag.  If someone could provide me with some idiot proof install instructions to get past this error that would be way cool.

Thx
Comment
Watch Question

Do more with

Expert Office
EXPERT OFFICE® is a registered trademark of EXPERTS EXCHANGE®

Commented:
Depends a great deal on what distro you're running and how you installed PHP in the first place (distro package or compiled from tarball).

Author

Commented:

ok, thx, how do I find out what distro I have?

I have a phpinfo() thing setup so I can see all the setting, if you tell me what to look for I can post back the info.

Commented:
cat /etc/issue

on the command line.

Author

Commented:
Rytmis - I did as you asked and got the following:

/root$ cat /etc/issue
Red Hat Enterprise Linux ES release 3 (Taroon Update 3)
Kernel \r on an \m

Hope that helps, if you would like me to do something else please let me know.

Thx
Commented:
I can't seem to find a php-zip package for Red Hat (I've got a CentOS server which is basically RHEL without the branding and it's not there either), and looks like it's not compiled in the default PHP package.

You could of course try compiling PHP from source yourself, but seeing as you're not too fluent in *nix, that's more likely to just frustrate you than yield results.

I'm sorry, looks like I can't help you here. I hope someone more intimately familiar with RHEL knows where to get it.
Richard DavisSenior Web Developer
Commented:
I use FreeBSD, but they are both similar in numerous respects.

Have a look at this link. It may provide you with further details about your zip failure.
http://us2.php.net/manual/en/ref.zip.php

What I found on the php.net site was this;

Installation on Linux
Installation when bundled with PHP4
In order to use these functions you must compile PHP with zip support by using the --with-zip[=DIR] configure option, where [DIR] is the prefix of the ZZIPlib library install.


My guess is that your remote server does not have this library enabled when they installed their version of PHP. This would be something that I would consult with that service's tech support about to see if they can implement that into the PHP installation since I doubt they would give you access to such things.

I hope this has been helpful for you.

Best of luck :)

~AB

Do more with

Expert Office
Submit tech questions to Ask the Experts™ at any time to receive solutions, advice, and new ideas from leading industry professionals.

Start 7-Day Free Trial