warning na install 6.2: [function.tempnam]: open_basedir restriction ->includes/file.inc on line 756

Wie kan me helpen bij deze warning (2x) vlak na een nieuwe install met 6.2?

warning: tempnam() [function.tempnam]: open_basedir restriction in effect. File() is not within the allowed path(s): (...:/tmp:/usr/local/lib/php/) in .../includes/file.inc on line 756.
Het bestand kon niet aangemaakt worden.

Overal gezocht op het web, maar geen oplossing:
- http://www.drupalcenter.de/node/8451
- http://firestats.cc/ticket/323

Het veranderen van de regel in file.inc
756: $file = tempnam(realpath($temp), 'file');
naar
756: $file = @tempnam(realpath($temp), 'file');
blijft alleen 2x de melding geven van "Het bestand kon niet aangemaakt worden."

Auteur: 
reis24
Door zakAap op 18 juli, 2008 - 15:22

Ik loop tegen hetzelfde probleem aan na een installatie van 6.3 :(
Heb je inmiddels al een oplossing gevonden hiervoor?

afbeelding van svendecabooter
Door svendecabooter op 18 juli, 2008 - 16:33

Hi,

Als ik het goed voorheb is dat een instelling van de webserver.
Op je webserver staat de open_basedir restrictie dus aan.

Dat wil zeggen dat je script geen toegang heeft tot files die zich buiten de webroot folder bevinden.
Je website bevindt zich bvb in /var/www/public_html/ , terwijl Drupal een temporary file probeert aan te maken in de folder /tmp (als ik me de details van open_basedir nog goed herinner tenminste)

Wat je kan doen is ofwel vragen aan je webhost om deze setting af te zetten (of als het je eigen webserver is, gewoon afzetten). Of anders een tmp folder instellen in Drupal die zich binnen de webroot bevindt. Ik weet echter niet of dat laatste wel werkt en / of eventuele negatieve zijeffecten heeft.

Anders eens googlen naar deze open_basedir setting... Misschien vind je wel een oplossing voor je probleem. Het hoeft niet per se met Drupal gerelateerd te zijn...

--
releasedata.be - Belgische releasedatums van muziek, film en games

Door zakAap op 18 juli, 2008 - 20:27

Bedankt voor de reactie. Ik heb even zitten kijken met phpinfo, en hier staat open_basedir gewoon gezet voor /home/user:/tmp:/usr/local/lib/php/
Nu snap ik wel iets meer van de error maar hij probeert dus als ik het goed begrijp een bestand van buiten die directories te halen.
De hele error nu maar een keer:
File() is not within the allowed path(s): (/home/user/:/tmp:/usr/local/lib/php/) in /home/user/domains/domain/public_html/drupal/includes/file.inc on line 756.

En dat is dan weer deze regel:
// On Windows, tempnam() requires an absolute path, so we use realpath().
$file = tempnam(realpath($temp), 'file');

De webserver draait Linux heb ik realpath() weggehaald, maar dan geeft ie weer een nieuwe error:
# warning: fopen() [function.fopen]: SAFE MODE Restriction in effect. The script whose uid is 505 is not allowed to access /tmp/filen6PImX owned by uid 100 in /home/user/domains/domain/public_html/drupal/includes/file.inc on line 757.
# warning: fopen(/tmp/filen6PImX) [function.fopen]: failed to open stream: Success in /home/novusp4/domains/domain/public_html/drupal/includes/file.inc on line 757.

Dus ik weet nu niet waar het probleem ligt heb ik drupal verkeerd ingesteld/geinstalleerd of ligt het aan de instellingen van de webserver?

Bookmark and Share

Drupal is een geregistreerd merk van Dries Buytaert. | Powered by Pantheon.

Drupal.be/Drupal.nl is de website van de Nederlandstalige Drupalgemeenschap.

onomatopee