মারাত্মক ত্রুটি: ক্লাস 'জিপআর্কাইভ' পাওয়া যায় নি


181

আমার একটি সমস্যা আছে যে আমি লিনাক্স সার্ভারে 'সংরক্ষণাগার_জিপ ০.০.১' ইনস্টল করেছি, তবে আমি জিপ ফাইলটি তৈরি করতে স্ক্রিপ্ট চালানোর চেষ্টা করলে এটি মারাত্মক ত্রুটি দেয় gives

মারাত্মক ত্রুটি: শ্রেণি 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স্ক্রিপ্ট যেখানে আছে সেই ফোল্ডারে ফাইলও রেখেছি , তবে এটি কার্যকর হয় না।


7
উবুন্টু ব্যবহারেsudo apt-get install php7.2-zip
এরিক কোরোলেভ

1
@ এরিক কোরেলেভ যে পিছুপি E: Unable to locate package php7.2-zip E: Couldn't find any package by regex 'php7.2-zip'7.2 এর সাথে উবুন্টু 14.04 ব্যবহার করে দেন
মুহাম্মদ ওমর আসলাম

1
ডেবিয়ান 10 এ, এটি সহজভাবে apt-get install php-zip
এক্সেল

: আপনি এই পোস্ট দেখতে পারেন stackoverflow.com/a/60482998/4806585
VishalParkash

উত্তর:


207

জন্য ZipArchiveবর্গ উপস্থিত হতে, পিএইচপি থাকতে হবে জিপ এক্সটেনশন ইনস্টল করা নেই।

ইনস্টলেশন নির্দেশাবলী (লিনাক্স এবং উইন্ডোজ উভয়) এর জন্য এই পৃষ্ঠাটি দেখুন ।


1
সম্ভবত আমি বুঝতে পারি না যে আমি কী করি। আপনি অধ্যয়নের জন্য সরবরাহ করা কালিগুলিতে এবং স্ক্রিপ্টটি সম্পূর্ণ করে দেওয়া উদাহরণগুলি আমি ব্যবহার করি। এটি আমার পিসিতে (লোকালহোস্ট) ঠিক আছে এবং সার্ভারে নয়। দয়া করে এর জন্য পরামর্শগুলি দিন
প্যারাগ চুরে

49
sudo apt-get install php7.0-zip
অপ্ট

9
সহজ সমাধান: sudo apt-get install php7.0-zip। তারপরে, ফাইলটি সম্পাদনা করুন /etc/php/7.0/cli/php.ini("ডায়নামিক এক্সটেনশানগুলি" বিভাগে, লাইনটি যুক্ত করুন extension=zip.so)। এটির সমাধান করা উচিত
জনিডি

21
ডকারের জন্যdocker-php-ext-install zip
ডেভিড রিক্সিটেলি

11
উবুন্টু সার্ভারে @ লুডিগের দ্বারা উল্লিখিত হিসাবে sudo apt-get install php7.0-zipআপনাকে sudo systemctl restart apache2
অ্যাপাচি

82

উবুন্টু + এনগিনেক্স + পিএইচপি 7 সহ অ্যামাজন ই সি 2 তে, আমার একই সমস্যা ছিল, এটি ব্যবহার করে সমাধান করুন:

sudo apt-get install php7.0-zip


এপিটি-ইনস্টল করার পরে পিএইচপি 7.0-এক্সএসএল সমস্যাটি পেয়েছে ... সমাধানের জন্য কেবল php7.0-zip ইনস্টল করার চিন্তা করবেন না
বোরটুনাক

sudo apt-get install php7.1-zipউবুন্টু / পিএইচপি 7.1
নিনো একপা্যাক

এটি এর সাথে কাজ করে না php 7.2এবং সর্বদা বলেE: Unable to locate package php7.2-zip E: Couldn't find any package by regex 'php7.2-zip'
মুহাম্মদ ওমর আসলাম

39

উবুন্টু ডেস্কটপে, আমাকে করতে হয়েছিল।

sudo apt-get install php5.6-zip

এটি লাইব্রেরিটি ইনস্টল করেছে তবে আমি এখনও একই ত্রুটি পেতে থাকি, সুতরাং আমাকে অ্যাপাচি ব্যবহার করে পুনরায় চালু করতে হবে:

sudo service apache2 restart

এবং এটা কাজ করে.


1
পুনরায় আরম্ভ করা অ্যাপাচি এটি করেছে, @ পেকার দ্রবণের সাথে মিলিত হলে
gthuo

18

প্রথমত, রিমোট সার্ভারের সমাধান:

আপনি যদি সিপেনেল ব্যবহার করেন তবে আপনার জিপ এক্সটেনশন ইনস্টল থাকতে পারে তবে অ্যাক্টিভেট না। আপনার এটি সক্রিয় করা দরকার। এই ক্ষেত্রে আপনাকে সিপিএনএল> সফ্টওয়্যার বিভাগের ভিতরে> পিএইচপি সংস্করণে ক্লিক করতে হবে । তারপরে জিপ সন্ধান করুন এবং এটি পরীক্ষা করুন। এখন সেভ করুন

আপনার ইমেজের মতো দেখতে হবে। এখানে চিত্র বর্ণনা লিখুন

সতেজ পৃষ্ঠা. ত্রুটি অদৃশ্য হওয়া উচিত।

দ্রষ্টব্য: যদি আপনি খুঁজে না পান তবে সার্ভার সরবরাহকারীর সাথে যোগাযোগ করুন। তারা আপনার জন্য ইনস্টল করা হবে।


এটি আমার পক্ষে কাজ করেছে। আমি একটি টেম্পলেট নির্মাতা ব্যবহার করছিলাম এবং এটি রফতানি হবে না। আমি জিপ চেকবক্সটি চেক করেছি, সেভ করে ভয়েলা। ধন্যবাদ কায়লান
হাব্লেগ

16

আমি এটি এখানে দেখছি না, তাই আমি এটি যুক্ত করতে চাই ডেবিয়ান / উবুন্টুতে আপেক্ষিক প্যাকেজ ইনস্টল করার পরে আপনাকে এক্সটেনশন সক্ষম করতে হবে । তাই:

sudo apt-get install php-zip
sudo phpenmod zip
sudo service apache2 restart

2
php7.0-zipপিএইচপি 7 এর জন্য ইনস্টল করুন
অ্যান্থনিবি

আক্ষেপ পুনরায় ভুলে যাবেন না !!
জাজ্পার

1
পিএইচপি 7.1 এর জন্য পিএইচপি 7.1-জিপ, পিএইচপি 7.2 এর জন্য পিএইচপি 7.2-জিপ ইনস্টল করুন।
নিও

6

আপনার কাছে ডাব্লুএইচএম পাওয়া গেলে এটি আরও সহজ।

ডাব্লুএইচএম এ লগ ইন করুন ।

সফটওয়্যার ট্যাবের অধীনে EasyApache 4 (বা আপনার যে কোনও সংস্করণই হোক) যান ।

ইনস্টল হওয়া প্যাকেজগুলির অধীনে কাস্টমাইজ ক্লিক করুন

পিএইচপি এক্সটেনশানগুলিতে যান , অনুসন্ধানের ধরণে " জিপ " ( উদ্ধৃতি ব্যতীত ),

আপনার 3 টি মডিউল দেখতে হবে

তাদের সব পরীক্ষা করুন,

প্রক্রিয়া শেষ করতে কয়েকবার নীল বোতামটি ক্লিক করুন।

এটি আমার পক্ষে কাজ করেছে। ধন্যবাদ আমি WHM উপলব্ধ।


5

এটি কাজ করে

apt-get install php7.0-zip

এবং php7.0-fpmম্যানুয়ালি পুনরায় আরম্ভ করার দরকার নেই ।

আনপ্যাকিং php7.0-zip( 7.0.16-4+deb.sury.org~trusty+1) ...
প্রক্রিয়া প্রক্রিয়া php7.0-fpm( 7.0.11-1+deb.sury.org~trusty+1) এর জন্য প্রবর্তন করে ...
php7.0-fpmথামুন / অপেক্ষার
php7.0-fpmশুরু / চলমান, প্রক্রিয়া 1572
php7.0-fpmস্টপ / অপেক্ষার
php7.0-fpmশুরু / চলমান, প্রক্রিয়া 1777
সেটআপ করা হচ্ছে php7.0-zip( 7.0.16-4+deb.sury.org~trusty+1) ...
লোকেল: LC_ALLডিফল্ট লোকালে সেট করা যায় না : এ জাতীয় কোনও ফাইল নেই বা ডিরেক্টরি

তৈরি করা হচ্ছে কনফিগ ফাইল /etc/php/7.0/mods-available/zip.iniনতুন সংস্করণের সাথে
জন্য প্রসেসিং ট্রিগার php7.0-fpm( 7.0.11-1+deb.sury.org~trusty+1) ...
php7.0-fpmস্টপ / অপেক্ষা
php7.0-fpmশুরু / চলমান, প্রক্রিয়া 2354
php7.0-fpmস্টপ / অপেক্ষা
php7.0-fpmশুরু / চলমান, প্রক্রিয়া 2397


4

জিপ সাপোর্ট সহ আপনার পিএইচপি সংগ্রহ করতে হবে। ম্যানুয়ালটিতে নিম্নলিখিতটি বলা হয়েছে:

এই ফাংশনগুলি ব্যবহার করার জন্য আপনাকে অবশ্যই --enable-zip কনফিগার বিকল্পটি ব্যবহার করে জিপ সমর্থন সহ পিএইচপি করতে হবে।

সার্ভারে কেবল সঠিক এক্সটেনশানগুলি ইনস্টল করার জন্য এটি যথেষ্ট নয়। পেক্কা এর আগে পোস্ট করা ইনস্টলেশন নির্দেশিকার লিঙ্কটি একবার দেখুন। আমার উত্তরটি তার একটি ব্যাখ্যা মাত্র।


হ্যাঁ, তবে সার্ভারে এই কমান্ডগুলি আমার কোথায় চালানো উচিত যাতে পিএইচপি জিপ সমর্থন সহ চালায়
প্যারাগ চুরে

এটি কি এমন কোনও সার্ভার যা আপনি নিয়ন্ত্রণ করেন? যদি আমি বিশ্বাস করি পিএইচপি ইনস্টল করার সময় এটি মেক কমান্ডের অংশ। যদি এটি এমন কোনও সার্ভার না হয় যা আপনি নিয়ন্ত্রণ করেন তবে আপনার পক্ষে একমাত্র বিকল্প হ'ল সিস্ট প্রশাসককে এটি করার চেষ্টা করা। দুঃখিত আমি আরও সুনির্দিষ্ট হতে পারি না - আমি স্ক্র্যাচ থেকে কোনও লিনাক্স সার্ভারে কখনও পিএইচপি ইনস্টল করি নি।
জেরেমি

4

সেন্টোস এবং সিপ্যানেল ইনস্টল করা সার্ভার নিয়ে আমার একই সমস্যা ছিল । আমি সিপ্যানেলের মাধ্যমে জিপআর্কাইভ প্যাকেজ ইনস্টল করেছি এবং প্রত্যাশার মতো কাজ করি নি। অনেকগুলি সমাধানের চেষ্টা করার পরে প্রতিটি এবং সর্বত্র যে কোনও জায়গায় পরামর্শ দেওয়া হয়েছিল কেবল নীচে আমার জন্য কাজ করেছে।

প্রথমে নীচের কমান্ডটি দিয়ে সঠিক প্যাকেজের জন্য নামটি সন্ধান করুন

yum search zip |grep -i php

তারপরে নীচের কোডটি ব্যবহার করুন।

yum install your_zip_package_name_with_php_version

আমার ক্ষেত্রে জিপআর্কাইভ ইনস্টল করার জন্য সঠিক কোড ছিল

yum install php-pecl-zip.x86_64

আমি এই লিঙ্ক থেকে সমাধান ছিল। আমি কীভাবে সেন্টপস 7 এর সাথে পিএইচপি 7.2 এ জিপআর্কাইভ ইনস্টল করতে পারি?

এবং এই ইনস্টলেশনটি কোনওভাবে সেই প্যাকেজটিকে সক্ষম করেছে এবং এটি কার্যকরকরণ পরিষেবাদি পুনরায় আরম্ভ করেছিল এবং উপরের কোডটি জিপআর্কাইভ ইস্যুটি কার্যকর করার পরে চলে গেছে।


4

সেন্টোস 6

yum install php-pecl-zip

service httpd restart

1
ধন্যবাদ. আমি পিএইচপি-পেকল-জিপ ইনস্টল করেছি তবে httpd পুনরায় আরম্ভ না করেই। অবশেষে আপনার উত্তর খুঁজে পেল!
এনগোক নাম

3

পিএইচপি 5.2.0 এবং তারপরে

লিনাক্স সিস্টেম

এই ফাংশনগুলি ব্যবহার করার জন্য আপনাকে অবশ্যই --enable-zip কনফিগার বিকল্পটি ব্যবহার করে জিপ সমর্থন সহ পিএইচপি করতে হবে।

উইন্ডোজ

এই ফাংশনগুলি ব্যবহার করার জন্য উইন্ডোজ ব্যবহারকারীদের php_zip.dll এর ভিতরে php.ini সক্ষম করতে হবে।


3

অ্যাপ ইঞ্জিন স্ট্যান্ডার্ড পরিবেশে ওয়ার্ডপ্রেস মোতায়েন করার সময় আমি এই সমস্যাটি জিসিপি-তে পেয়েছি on এটি এটি সমাধান করেছে:

sudo apt-get install php7.2-zip

3

পিএইচপি 7.x এর জন্য

sudo apt-get install php-zip

পিএইচপি 5.x এর জন্য

sudo apt-get install php5.x-zip
// (for example sudo apt-get install php5.6-zip)

এবং তারপরে অ্যাপাচি সার্ভারটি পুনরায় চালু করুন

sudo service apache2 restart

1

রেমিতে সেন্টোস 7 এবং পিএইচপি 7.3 এর জন্য

জিপ এক্সটেনশানটির জন্য অনুসন্ধান করুন:

$ yum search php73 | grep zip
php73-php-pecl-zip.x86_64 : A ZIP archive management extension

এক্সটেনশনের নাম php73-php-pecl-zip.x86_64 । এটি পিএইচপি-র একক সংস্করণে চলমান সার্ভারে ইনস্টল করতে, php73 উপসর্গটি সরিয়ে ফেলুন:

$ sudo yum --enablerepo=remi-php73 install php-pecl-zip #for server running single PHP7.3 version
$ #sudo yum --enablerepo=remi-php73 install php73-php-pecl-zip # for server running multiple PHP versions

পিএইচপি পুনরায় চালু করুন:

$ sudo systemctl restart php-fpm

ইনস্টল করা পিএইচপি এক্সটেনশানগুলি পরীক্ষা করুন:

$ php -m
[PHP Modules]
apcu
bcmath
bz2
...
zip
zlib

1

CentOS ভিত্তিক সার্ভার ব্যবহারের জন্য

yum install php-pecl-zip.x86_64

এটি চালিয়ে সক্ষম করুন: echo "extension=zip.so" >> /etc/php.d/zip.ini


0

আমার একই সমস্যা ছিল এবং এটি দুটি কমান্ড লাইন ব্যবহার করে সমাধান করেছে:

sudo apt install php-zip

তারপরে অ্যাপাচে আপনার ওয়েব সার্ভারটি পুনরায় বুট করুন

sudo service apache2 restart


0

\ZIPARCHIVEপরিবর্তে লিখতে চেষ্টা করুন ZIPARCHIVE


0

আপনার পিএইচপি সংস্করণ পরীক্ষা করা দরকার

পিএইচপি সংস্করণ যদি 5.6 হয় তবে আপনার পিএইচপি 5.7-জিপ ইনস্টল করতে হবে

sudo apt-get install php5.6-zip

এবং তারপর

sudo service apache2 restart

আশা করি এটা সাহায্য করবে


-13

1) requireআপনার ফাইলটি ফাইল সহ করা উচিত ZipArchive

require 'path/to/file/ZipArchive.php';

2) বা __autoloadক্লাসের পদ্ধতি ব্যবহার করুন । পিএইচপি 5 এ এটি গ্রেট পদ্ধতি __autoload ()।

function __autoload($class_name) {
    require_once $class_name . '.php';
}

$obj  = new MyClass1(); // creating an object without require.

http://www.php.net/manual/en/language.oop5.autoload.php


জিপআরচাইভ ফাইলটি কীভাবে অন্তর্ভুক্ত করা উচিত?
প্যারাগ চুরে
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.