Титла: php ziparchive Публикувано от: consolebg в Dec 29, 2022, 12:25 Здравейте колеги,
Досега изобщо не ми се беше налагало да разархивирам с php ама и до там го докарахме. Естествено като всеки закорявал програмист почвам с документацията. https://www.php.net/manual/en/class.ziparchive.php Са тука особенното при мене е че съм с версия 7.4 и според документацията https://www.php.net/manual/en/zip.installation.php As of PHP 7.4.0, in order to use these functions you must compile PHP with zip support by using the --with-zip configure option. Previously, zip support had to be enabled by using the --enable-zip configure option. As of PHP 7.4.0, the bundled libzip is removed. Са хубаво обаче аз версията я инсталирах от пакетния мениджър на Ubuntu, не съм я билдвал ръчно. След кратко търсене се оказа че си има пакет php7.4-zip хубаво инсталирах, рестартнах apache обаче все тая. Интересното е че в примерните който дават се почва така : $zip = new ZipArchive; Хубаво обаче apache ми хвърля грешка че няма такава константа. Почвам да импровизирам : $zip = new ZipArchive(); Дава ми няма такъв клас. И в тоя момент се сетих да го пусна тоя код през cli: <?php $zip = new ZipArchive; var_dump($zip); ?> Резултата е следния object(ZipArchive)#1 (5) { ["status"]=> int(0) ["statusSys"]=> int(0) ["numFiles"]=> int(0) ["filename"]=> string(0) "" ["comment"]=> string(0) "" } Значи излиза че през cli работи ама като се извика през уеб сървъра не работи. Някой да има обяснение защо това е така? Титла: Re: php ziparchive Публикувано от: consolebg в Dec 29, 2022, 12:35 Като ъплоуднах само чистия файл с кода, който е извън проекта и го ръннах само него си сработи. Са явно проблема идва от самия проект, което ще бъде много озадачаващо търсене на проблема [_]3
Титла: Re: php ziparchive Публикувано от: consolebg в Dec 29, 2022, 12:45 Сам си разгадах мистерията,
$zip = new ZipArchive; - не работи $zip = new ZipArchive; - работи На пръв поглед изглеждат еднакви, ама явно има нещо което не се вижда с просто око. Но забавно губене на 3 часа. Титла: Re: php ziparchive Публикувано от: Acho в Dec 29, 2022, 13:22 И аз се кьорих кьорих, ама като ги гледам - еднакви са двата реда.
Титла: Re: php ziparchive Публикувано от: go_fire в Dec 29, 2022, 17:01 Аз си мислех за кирилски знак, но не е това:
Код
Двата низа са напълно еднакви. Титла: Re: php ziparchive Публикувано от: consolebg в Dec 29, 2022, 17:04 И аз се кьорих кьорих, ама като ги гледам - еднакви са двата реда. Това което аз подозирам е че един символите между p,A,c или е съм го написал на кирилица ;D щото ми хвърляше тая грешка PHP Parse error: syntax error, unexpected '\xc2\xa0ZipArchive' или има нещо между new и ZipArchive което не е space, ама не ми се занимаваше да ги преглеждам. Аз си мислех за кирилски знак, но не е това: Съдейки по грешката сигурно между new и ZipArchive е някъв друг символ а не space Титла: Re: php ziparchive Публикувано от: go_fire в Dec 29, 2022, 17:20 Всъщност е възможно. На трети разряд на шпацията се намира „непреносима шпация“. Никак не е невъзможно да даде грешка.
Титла: Re: php ziparchive Публикувано от: Acho в Dec 29, 2022, 17:38 Копирах ги от тук, и ги сравнявам в конзолата, един по един символите. И на мен ми показва едни и същи ASCII кодове за всички символи от двата реда.
Титла: Re: php ziparchive Публикувано от: consolebg в Dec 29, 2022, 18:47 Копирах ги от тук, и ги сравнявам в конзолата, един по един символите. И на мен ми показва едни и същи ASCII кодове за всички символи от двата реда. Възможно при пействането тук, обработващия скрипт да ги е зачистил преди да запази в базата. Титла: Re: php ziparchive Публикувано от: jet в Dec 29, 2022, 18:59 копирай ги тук в блок за код
Титла: Re: php ziparchive Публикувано от: spec1a в Dec 30, 2022, 10:56 Копирай редовете в някой текстов редактор (напр. gedit),запиши във
файл (кръсти го напр. file) и после пусни от терминал: hexdump -C file и всичко ще лъсне ... |