Beste tweakers
Voor een klant van mij host ik een aantal websites bij TransIP.
Drie van die sites draaien op hun eerste virtuele hosting server en de andere 3 draaien op hun tweede virtuele hosting server.
Een paar dagen geleden kreeg ik foutmeldingen binnen dat het uploaden van foto's niet meer lukte, dus ik ben gaan debuggen.
Ik vond het opzich al vreemd dat het niet meer werkte, want ik heb de laatste maanden geen wijzigingen meer aangebracht in het script.
Om het uploaden van foto's te testen heb ik onderstaand test script in elkaar gezet:
En ik heb het volgende ontdekt:
Dit script werkt vlekkeloos op de 3 sites die op hun tweede virtuele server draaien, maar op alle sites die op hun eerste virtuele server draaien krijg ik de volgende melding:
Warning: imagejpeg(): Unable to access /sites/(domeinnaam)/www/test/nieuwbouw1.jpg in /sites/(domeinnaam)/www/test/upload.php on line 35
Warning: imagejpeg(): Invalid filename '/sites/(domeinnaam)/www/test/nieuwbouw1.jpg' in /sites/(domeinnaam)/www/test/upload.php on line 35
Voor de zekerheid heb ik dit script ook getest op een webserver van XS4all, mijn eigen webserver en op die van een vriend van mij. Ook hier werkt het zonder problemen.
Mijn conclusie is dus: het ligt aan de webserver.
Ik heb contact gehad met TransIP, maar die zeggen de laatste tijd geen wijzigingen aan hun configuratie te hebben gedaan, dus aan hun server kon het niet liggen.
Zie ik toch een fout in het script over het hoofd? Hebben jullie tips/ ervaringen/ Oplossingen?
edit:
owja, bij het testen heb ik de mappen een chmod 777 gegeven zodat de rechten geen probleem konden zijn.
Voor een klant van mij host ik een aantal websites bij TransIP.
Drie van die sites draaien op hun eerste virtuele hosting server en de andere 3 draaien op hun tweede virtuele hosting server.
Een paar dagen geleden kreeg ik foutmeldingen binnen dat het uploaden van foto's niet meer lukte, dus ik ben gaan debuggen.
Ik vond het opzich al vreemd dat het niet meer werkte, want ik heb de laatste maanden geen wijzigingen meer aangebracht in het script.
Om het uploaden van foto's te testen heb ik onderstaand test script in elkaar gezet:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
| <?php if( $_SERVER['REQUEST_METHOD'] == 'POST' ) { if( !is_uploaded_file( $_FILES['bestand']['tmp_name'] ) ) { trigger_error( 'No uploaded file found' ); exit(); } $aSourceImageData = getimagesize( $_FILES['bestand']['tmp_name'] ); $rSourceImage = imagecreatefromjpeg( $_FILES['bestand']['tmp_name'] ); $rDestinationImage = imagecreatetruecolor( $aSourceImageData[0], $aSourceImageData[1] ); imagecopy( $rDestinationImage, $rSourceImage, 0, 0, 0, 0, $aSourceImageData[0], $aSourceImageData[1] ); imagejpeg( $rDestinationImage, dirname( __FILE__ ).'/'.$_FILES['bestand']['name'] ); } ?> <form method="post" action="upload.php" enctype="multipart/form-data"> <input type="file" name="bestand" /> <input type="submit" /> </form> |
En ik heb het volgende ontdekt:
Dit script werkt vlekkeloos op de 3 sites die op hun tweede virtuele server draaien, maar op alle sites die op hun eerste virtuele server draaien krijg ik de volgende melding:
Warning: imagejpeg(): Unable to access /sites/(domeinnaam)/www/test/nieuwbouw1.jpg in /sites/(domeinnaam)/www/test/upload.php on line 35
Warning: imagejpeg(): Invalid filename '/sites/(domeinnaam)/www/test/nieuwbouw1.jpg' in /sites/(domeinnaam)/www/test/upload.php on line 35
Voor de zekerheid heb ik dit script ook getest op een webserver van XS4all, mijn eigen webserver en op die van een vriend van mij. Ook hier werkt het zonder problemen.
Mijn conclusie is dus: het ligt aan de webserver.
Ik heb contact gehad met TransIP, maar die zeggen de laatste tijd geen wijzigingen aan hun configuratie te hebben gedaan, dus aan hun server kon het niet liggen.
Zie ik toch een fout in het script over het hoofd? Hebben jullie tips/ ervaringen/ Oplossingen?
edit:
owja, bij het testen heb ik de mappen een chmod 777 gegeven zodat de rechten geen probleem konden zijn.