Store problemer med inkludering af filer

Tags:    linux ubuntu php plesk

Hej

Jeg har store problemer med at køre cronjobs rigtigt på en ubuntu server. Sagen er den, at scriptet ikke vil åbne en helt bestemt og meget vigtig fil selvom den eksisterer, og efter min mening har de rigtige rettigheder.

Jeg kører på en Ubuntu server med Plesk installeret og har SSH adgang med root.

Der hvor den fejler som som følger:

Den skal inkludere en configuration.php sådan her: include("../../configuration.php");

Scriptet ligger i /var/www/vhosts/domæne.dk/httpdocs/cronjobs/daily og configuration.php ligger i /var/www/vhosts/domæne.dk/httpdocs så der burde ikke være problemer i forhold til stiangivelsen.

Når jeg forsøger at køre scriptet via terminal, kommer følgende fejl:

PHP Deprecated: Comments starting with '#' are deprecated in /etc/php5/cli/conf.d/imap.ini on line 1 in Unknown on line 0
PHP Warning: Directive 'safe_mode' is deprecated in PHP 5.3 and greater in Unknown on line 0
PHP Notice: Use of undefined constant session - assumed 'session' in /var/www/vhosts/domæne.dk/httpdocs/configuration.php on line 30
PHP Notice: Use of undefined constant use_trans_sid - assumed 'use_trans_sid' in /var/www/vhosts/domæne.dk/httpdocs/configuration.php on line 30
PHP Warning: realpath(): SAFE MODE Restriction in effect. The script whose uid is 10003 is not allowed to access /var/www/vhosts/domæne.dk/httpdocs/cronjobs/daily owned by uid 0 in /var/www/vhosts/domæne.dk/httpdocs/configuration.php on line 37

Warning: realpath(): SAFE MODE Restriction in effect. The script whose uid is 10003 is not allowed to access /var/www/vhosts/domæne.dk/httpdocs/cronjobs/daily owned by uid 0 in /var/www/vhosts/domæne.dk/httpdocs/configuration.php on line 37

Derefter følger en masse af de her

Warning: include_once(/var/www/vhosts/domæne.dk/httpdoc/inc/mail.php): failed to open stream: No such file or directory in /var/www/vhosts/domæne.dk/httpdocs/configuration.php on line 52
PHP Warning: include_once(): Failed opening '/var/www/vhosts/domæne.dk/httpdoc/inc/mail.php' for inclusion (include_path='.:') in /var/www/vhosts/domæne.dk/httpdocs/configuration.php on line 52

på forskellige filer som configuration.php forsøgere at inkludere. I det her specielle tilfælde er det ovenstående mail.php fil som jeg har brug for.

Rettighederne på configuration.php er

-rwxrwxrwx 1 root root 2897 2012-05-14 13:55 configuration.php


og rettighederne på mail.php er

-rwxrwxrwx 1 root root 2352 2012-05-14 11:35 mail.php

Så jeg forstår ikke rigtig hvad der er galt. Jeg har endda sat safe_mode = Off i php.ini filen og genstartet serveren, så der burde ikke ligge noget problem der.

Jeg ville ikke lige smide hele fejlloggen her, men hvis det ønskes gør jeg det meget gerne.



3 svar postet i denne tråd vises herunder
0 indlæg har modtaget i alt 0 karma
Sorter efter stemmer Sorter efter dato
Som bonusinfo kan jeg sige, at når jeg kører det i browseren direkte er der ingen problemer...



Prøv engang og slå safe mode fra og se hvad fejl der så kommer.

Står din include("../../configuration.php"); i en fil som også selv bliver included eller required ?



Cron kan ikke finde ud af relative stier. Så skriv den fulde sti til din fil og drop ../../

Hvorfor laver du ikke din cronjob i /etc/crontab?

Cron kan ikke køre alt. Bare fordi du kan køre det "by hand", kan cron ikke nødvendigvis køre det.
Grundet nogle environment's variabler.

Så prøv i første omgang den fulde sti til scriptet
include("/var/www/vhosts/domæne.dk/httpdocs/configuration.php")

hvorfor laver du semi kolon til sidst?

Hvis du har yderligere problemer så prøv at skrive dit output fra dit cronjob, fra både kommandoen og fejl beskrivelsen til en fil.

Eksempel på crontab entry med redirect
5 * * * * /sti/til/script >> /sti/til/output 2>&1

Overstående kører 5 minutter efter 00:00. Så det ville sige 00:05 kører linjen.



Indlæg senest redigeret d. 29.05.2012 08:53 af Bruger #16700
t