Linux 서버에 ‘Archive_Zip 0.1.1’을 설치하는 데 문제가 있는데 zip 파일을 만드는 스크립트를 실행하려고 하면 치명적인 오류가 발생합니다.
치명적 오류: 클래스
ZipArchive
…에는 없다
내가 코드를 넣은 곳에
$zip = new ZipArchive; var_dump($zip); $res = $zip->open($filename, ZipArchive::OVERWRITE); if ($res !== TRUE) {
echo 'Error: Unable to create zip file';
exit; } if (is_file($src)) {
$zip->addFile($src); } else {
// echo "<br>" . dirname(__FILE__) . $src;//'/install1';
if (!is_dir($src)) {
$zip->close();
@unlink($filename);
echo 'Error: File not found';
exit;
}
recurse_zip($src, $zip, $path_length); } $zip->close(); echo "<br>file name ".$filename;
클래스 파일을 찾을 수 없습니다.
해결책을 알려주세요.문제를 해결하려면 어떻게 해야 하나요?저도 넣었어요.php.ini
파일을 스크립트가 있는 폴더에 저장하지만 작동하지 않습니다.
질문에 대한 답변
클래스를 사용하려면 PHP에 zip 확장 기능이 설치되어 있어야 합니다.
인스톨 순서에 대해서는, 이 페이지를 참조해 주세요(Linux 와 Windows 의 양쪽 모두).
Ubuntu + nginx + php7을 탑재한 Amazon ec2에서도 같은 문제가 발생하여 다음을 사용하여 해결했습니다.
sudo apt-get install php7.0-zip
Ubuntu 데스크탑에서는 해야 했습니다.
sudo apt-get install php5.6-zip
이것으로 라이브러리가 인스톨 되었습니다만, 같은 에러가 계속 발생하고 있기 때문에, 다음의 방법으로 apache를 재기동할 필요가 있었습니다.
sudo service apache2 restart
그리고 그것은 성공하였다.
여기에는 표시되지 않으므로 Debian/Ubuntu에서는 관련 패키지 설치 후 확장을 활성화해야 할 수 있습니다.그래서:
sudo apt-get install php-zip sudo phpenmod zip sudo service apache2 restart
우선 리모트 서버용 솔루션은 다음과 같습니다.
cpanel을 사용하는 경우 zip 확장이 설치되어 있지만 활성화되지 않을 수 있습니다.활성화 시켜야 돼요.이 경우 cpanel > inside software 섹션 > PHP 버전을 클릭해야 합니다.그럼 zip을 찾아서 확인하세요.이제 저장하세요.
페이지 새로 고침에러가 사라집니다.
주의: 찾을 수 없는 경우 서버 공급자에게 문의하십시오.인스톨 됩니다.