Doorzoek het forum

Trefwoord

Welkom bij Joomla!NL

Om alle mogelijkheden van dit forum te kunnen gebruiken, moet je je eerst registreren.

× Vermeld in iedere vraag duidelijk:
  1. De versie van Joomla! 1.6 of 1.7 die je gebruikt
  2. De volledige url van je website indien mogelijk.
  3. De versie van de extensie waar de vraag over gaat.
Let op: Joomla 1.6 en 1.7 zijn niet meer veilig! We raden je aan om te upgraden naar 2.5!

Zip_Open probleem

13 dec 2011 22:43 13 dec 2011 22:47 door AcH. Reden: Informatie toegevoegd
Heeft onderwerp gestart
Zip_Open probleem #1
Beste Mensen,

Zelf ben host ik voor een aantal klanten meerdere Joomla sites. Voor het eerst ben ik bezig met updates uitvoeren, maar stuit op wat problemen. Bij de automatische update krijg ik een aantal errors:
JFolder: :files: Path is not a folder. Path: /home/user/domains/domein.nl/public_html/tmp/install_4ee7c483b1f7b
JFolder: :folder: Path is not a folder. Path: /home/user/domains/domein.nl/public_html/tmp/install_4ee7c483b1f7b
JFolder: :files: Path is not a folder. Path: /home/user/domains/domein.nl/public_html/tmp/install_4ee7c483b1f7b
JInstaller: :Install: Cannot find Joomla XML setup file
Install path does not exist

Nou kan ik zelf wel een aardig eindje PHP en heb dit onderzocht. Via de handler van het unzippen wordt deze error veroorzaakt. De meldingen van 'Path is not a folder' zijn te verklaren gezien de directory pas wordt aangemaakt zodra alle checks voor de zip voltooid zijn. Hieronder het relevante stuk code PHP uit /libraries/joomla/filesystem/archive/zip.php:
if ($zip = zip_open($archive)) {
			if (is_resource($zip)) {
				// Make sure the destination folder exists
				if (!JFolder::create($destination)) {
					...
				}
				...
			}
		}
		else {
			$this->set('error.message', JText::_('JLIB_FILESYSTEM_ZIP_UNABLE_TO_OPEN_ARCHIVE'));

			return false;
		}

Maar, op de zip_open heeft Joomla geen foutafhandeling ingebouwd, vandaar dat het zeer lastig is om deze fout te traceren. Uit $zip zou een resource moeten komen, hier komt echter een getal uit als foutmelding. Gezien de variabel $zip kon worden aangemaakt wordt de melding JLIB_FILESYSTEM_ZIP_UNABLE_TO_OPEN_ARCHIVE dus niet weergegeven. Kortom: We hebben een fout, maar Joomla vangt deze niet op.

Even nagezocht, de zip geeft een READ_ERROR. Als ik deze van de FTP naar mijn Windows bak download en open werkt de zip prima, upload ik hem opnieuw naar de tmp-map, dan is er geen read error. Maar goed, uiteraar mijn vraag, is er iemand hier die iets meer technische evaring van Joomla heeft dan ik heb? Ik snap niet hoe ik deze fout kan oplossen. Mijn serverinstellingen heb ik, naar mijn weten, zo goed mogelijk voor Joomla afgesteld.

Het gaat om Apache2 draaiend op Debian Lenny. De umask staat op 0022, de owners zijn correct, PHP heeft standaard een tmp-map gedefineerd, etc.

Hopelijk kunnen jullie mij verder helpen, ik loop hier al een paar weken mee te stoeien.

Edit:
Het gaat om een update van 1.6.5, het script haalt de volgende zip op: downloads.joomlacode.org/frsrelease/6/8/9/68959/Joomla_1.6.x_to_1.7.0_Package.zip
AcH
Nieuw op Joomla!NL
Nieuw op Joomla!NL
Berichten: 15
Lees meer
14 dec 2011 01:59 14 dec 2011 02:08 door sovainfo. Reden: gebrekkige preview
Zip_Open probleem #2
Er is wel foutafhandeling op de zip_open. Het resulteert alleen niet in een foutmelding. De else tak van zip_open zou hiervoor bij de is_resource herhaald moeten worden.
Of geen gebruik maken van de nested if.
if ($zip = zip_open($archive) && is_resource($zip)) {
	// Make sure the destination folder exists
	if (!JFolder::create($destination)) {
		$this->set('error.message', 'Unable to create destination');
		return false;
	}

	// Read files in the archive
	while ($file = @zip_read($zip))
	{
		if (zip_entry_open($zip, $file, "r")) {
			if (substr(zip_entry_name($file), strlen(zip_entry_name($file)) - 1) != "/") {
				$buffer = zip_entry_read($file, zip_entry_filesize($file));

				if (JFile::write($destination . '/' . zip_entry_name($file), $buffer) === false) {
								$this->set('error.message', 'Unable to write entry');
					return false;
				}

				zip_entry_close($file);
			}
		}
		else {
			$this->set('error.message', JText::_('JLIB_FILESYSTEM_ZIP_UNABLE_TO_READ_ENTRY'));

			return false;
		}
	}

	@zip_close($zip);
}
else {
	$this->set('error.message', JText::_('JLIB_FILESYSTEM_ZIP_UNABLE_TO_OPEN_ARCHIVE'));

	return false;
}
Of nog beter een fatsoenlijke try/catch, maar dat laat ik aan iemand anders over.
Zou namelijk ook goed getest moeten worden.
sovainfo
Bekend met Joomla!NL
Bekend met Joomla!NL
Berichten: 168
Lees meer
14 dec 2011 09:25
Heeft onderwerp gestart
Zip_Open probleem #3
Klopt, maar de foutafhandeling werkt niet goed. Gelukkig maakt die foutafhandeling niet zoveel uit wanneer hij de zip goed zou uitpakken. Dit probleem ontstaat ook wel eens bij extensies. De gedownloade zip geeft een read_error. Wanneer ik deze even download en handmatig naar de tmp map upload, dan pakt hij hem wel prima.

Het is geen optie voor mij om dit aan mijn klanten te vertellen, die fout (read error) bij zip_open() wordt ergens door veroorzaakt. Als dit serverside is moet dit opgelost kunnen worden.
AcH
Nieuw op Joomla!NL
Nieuw op Joomla!NL
Berichten: 15
Lees meer
21 dec 2011 09:50
Heeft onderwerp gestart
Zip_Open probleem #4
Ik ondervind nog steeds hinder van dit probleem, zijn er meer mensen die hier ervaring mee hebben of mij verder kunnen helpen?
AcH
Nieuw op Joomla!NL
Nieuw op Joomla!NL
Berichten: 15
Lees meer
10 jan 2012 19:16
Heeft onderwerp gestart
Zip_Open probleem #5
Helaas ondervind ik nog steeds last van dit probleem, is er iemand die hier meer ervaring mee heeft?
AcH
Nieuw op Joomla!NL
Nieuw op Joomla!NL
Berichten: 15
Lees meer
Moderators: Juliank92PeterJelleRomke
Tijd voor maken pagina: 0.184 seconden

Wil je Joomla!NL steunen?

Steun Joomla!NLAlle teamleden werken enthousiast, op vrijwillige basis, mee aan Joomla!NL. Maar een website met forum kost nu eenmaal geld. Dus als je Joomla!NL wilt steunen, dan kan dat, graag zelfs!

Lees hier meer informatie

Joomla!NL op Twitter

Op dinsdag 25 oktober is Joomla! 4.2.4 vrijgegeven. Deze versie lost een tweetal beveiligingsproblemen op. https://t.co/saN5HQQyfD

Op dinsdag 27 september 2022 is Joomla! 4.2.3 vrijgegeven. Het betreft een versie die nieuwe verbeteringen bevat en… https://t.co/T7oGdV8LSs

De naam Joomla!® en logo worden gebruikt onder een beperkte licentie met toestemming van Open Source Matters.
Joomlanl.nl is niet verbonden aan en is geen onderdeel van Open Source Matters, Inc, of het Joomla! project.

© 2023 - Joomla!NL | Gehost door Wned