Avatar billede kongfjong Nybegynder
28. maj 2012 - 09:16 Der er 20 kommentarer og
1 løsning

Store problemer med inkludering af filer

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.
Avatar billede The_Buzz Novice
28. maj 2012 - 09:19 #1
Er du selv hostmaster?

Ejerrettigheder er vist ikke i orden?
chown 10003:10003 /var/www/vhosts/domæne.dk/httpdocs/cronjobs/daily
Avatar billede The_Buzz Novice
28. maj 2012 - 09:21 #2
userid 0 er normalt root, og den har ingen anden end root normalt ret til at se...
Avatar billede kongfjong Nybegynder
28. maj 2012 - 09:22 #3
Men det er root der kører scriptet via Plesk... Men er det ikke samme root som jeg logger ind på SSH med mon?

Som bonusinfo kan jeg sige, at når jeg kører det i browseren direkte er der ingen problemer...
Avatar billede The_Buzz Novice
28. maj 2012 - 09:25 #4
Måske jeg har misforstået problemet lidt

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

Hvem er user 10003 - det kan du læse ved at
more /etc/passwd
Avatar billede kongfjong Nybegynder
28. maj 2012 - 09:27 #5
Prøvede lige det du skrev og at gøre det samme med filen configuration.php det hjalp dog ikke

domænedk:x:10003:1004::/var/www/vhosts/domæne.dk:/bin/false
Avatar billede The_Buzz Novice
28. maj 2012 - 09:28 #6
Nej i såfald skal det være chown 10003:1004 - men det er lige meget

Hvordan ser din errors log ud UDEN safemode enabled?
Avatar billede kongfjong Nybegynder
28. maj 2012 - 09:32 #7
Safe_mode er ikke enabled...
Avatar billede kongfjong Nybegynder
28. maj 2012 - 09:33 #8
Og lige nu, hvis jeg kører scriptet fra terminal logget ind som root, siger fejlen sådan

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 Warning:  include(): Unable to access ../../configuration.php in /var/www/vhosts/domæne.dk/httpdocs/cronjobs/daily/assignments_near_end.php on line 3
PHP Warning:  include(../../configuration.php): failed to open stream: No such file or directory in /var/www/vhosts/domæne.dk/httpdocs/cronjobs/daily/assignments_near_end.php on line 3
PHP Warning:  include(): Unable to access ../../configuration.php in /var/www/vhosts/domæne.dk/httpdocs/cronjobs/daily/assignments_near_end.php on line 3
PHP Warning:  include(../../configuration.php): failed to open stream: No such file or directory in /var/www/vhosts/domæne.dk/httpdocs/cronjobs/daily/assignments_near_end.php on line 3
PHP Warning:  include(): Failed opening '../../configuration.php' for inclusion (include_path='.:') in /var/www/vhosts/domæne.dk/httpdocs/cronjobs/daily/assignments_near_end.php on line 3
PHP Warning:  mysql_query(): Access denied for user 'root'@'localhost' (using password: NO) in /var/www/vhosts/domæne.dk/httpdocs/cronjobs/daily/assignments_near_end.php on line 6
PHP Warning:  mysql_query(): A link to the server could not be established in /var/www/vhosts/domæne.dk/httpdocs/cronjobs/daily/assignments_near_end.php on line 6
PHP Warning:  mysql_num_rows() expects parameter 1 to be resource, boolean given in /var/www/vhosts/domæne.dk/httpdocs/cronjobs/daily/assignments_near_end.php on line 8
Avatar billede The_Buzz Novice
28. maj 2012 - 09:35 #9
Okay hvorfor siger den så:

PHP Warning:  realpath(): SAFE MODE Restriction in effect. 

Prøv at sætte FULD path i alle includes der skal køres igennem cronjobs - det har jeg altså før set været nødvendigt.

i stedet for
include("../../configuration.php");

skrives
include("/var/www/vhosts/domæne.dk/httpdocs/configuration.php");

Desuden er det efter min opfattelse også det rigtige at gøre selvom det er web
Avatar billede The_Buzz Novice
28. maj 2012 - 09:37 #10
nu er /var/www/vhosts/domæne.dk/httpdocs/cronjobs/daily vel forhåbentlig ikke et bibliotek men dit cron shell script eller noget?
Avatar billede kongfjong Nybegynder
28. maj 2012 - 09:39 #11
/var/www/vhosts/domæne.dk/httpdocs/cronjobs/daily er et bibliotek...?
Avatar billede kongfjong Nybegynder
28. maj 2012 - 09:42 #12
Ja det er det jeg heller ikke forstår mht. safe_mode...

Men inkluderede den fulde path og nu blev det en anden fejl og tilsyneladende inkluderede den configuration.php, så nu vil jeg prøve fuld path på de filer som configuration.php inkluderer
Avatar billede The_Buzz Novice
28. maj 2012 - 09:43 #13
Prøv lige at brug fulde paths i alle de filer der includes - og vend tilbage?
Avatar billede kongfjong Nybegynder
28. maj 2012 - 09:48 #14
Det er gjort nu og følgende fejl kommer på alle de filer configuration.php forsøger at inkludere

Warning: include_once(): SAFE MODE Restriction in effect.  The script whose uid is 10003 is not allowed to access /var/www/vhosts/domæne.dk/httpdocs/inc/mail.php owned by uid 0 in /var/www/vhosts/domæne.dk/httpdocs/configuration.php on line 54
PHP Warning:  include_once(/var/www/vhosts/domæne.dk/httpdocs/inc/mail.php): failed to open stream: Success in /var/www/vhosts/domæne.dk/httpdocs/configuration.php on line 54

Warning: include_once(/var/www/vhosts/domæne.dk/httpdocs/inc/mail.php): failed to open stream: Success in /var/www/vhosts/domæne.dk/httpdocs/configuration.php on line 54
PHP Warning:  include_once(): Failed opening '/var/www/vhosts/domæne.dk/httpdocs/inc/mail.php' for inclusion (include_path='.:') in /var/www/vhosts/domæne.dk/httpdocs/configuration.php on line 54

Warning: include_once(): Failed opening '/var/www/vhosts/domæne.dk/httpdocs/inc/mail.php' for inclusion (include_path='.:') in /var/www/vhosts/domæne.dk/httpdocs/configuration.php on line 54
PHP Warning:  include_once(): SAFE MODE Restriction in effect.  The script whose uid is 10003 is not allowed to access /var/www/vhosts/domæne.dk/httpdocs/inc/pages.php owned by uid 0 in /var/www/vhosts/domæne.dk/httpdocs/configuration.php on line 55


Bliver mere og mere i tvivl om hvorvidt jeg har fået slået safe_mode ordentligt fra...
Avatar billede kongfjong Nybegynder
28. maj 2012 - 09:49 #15
Dog siger phpinfo() at safe_mode er Off...
Avatar billede kongfjong Nybegynder
28. maj 2012 - 09:54 #16
Rettighederne på filen siger -rw-r--r-- 1 domænedk psacln 2609 2012-05-28 07:43 fil.php

så vidt jeg kan se er der ikke execute rettigheder er det rigtigt? Men det behøver der måske ikke være?
Avatar billede kongfjong Nybegynder
28. maj 2012 - 10:23 #17
Kan det have noget at gøre med safe_mode_gid er slået fra? Ud fra beskrivelsen af den, kunne det måske?


; By default, Safe Mode does a UID compare check when
; opening files. If you want to relax this to a GID compare,
; then turn on safe_mode_gid.
; http://php.net/safe-mode-gid
safe_mode_gid = Off
Avatar billede The_Buzz Novice
28. maj 2012 - 10:35 #18
Det virker sgu underligt - har du forsøgt at genstarte serveren totalt?
Avatar billede The_Buzz Novice
28. maj 2012 - 10:37 #19
Prøv at

chown 10003:1004

alle berørte filer (som den klager sig over)
Avatar billede kongfjong Nybegynder
28. maj 2012 - 11:06 #20
Det hjalp satme :) Tak for det :)
Avatar billede The_Buzz Novice
28. maj 2012 - 11:14 #21
Så får du lige et svar her til points
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester