/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Problem med require..
Fra : "René Nielsen"


Dato : 27-04-02 11:35

Hej herinde...
Jeg sidder med et lille problem, jeg har sider, hvor der hentes en top og
lign. ind fra nogle andre filer (det samme, som går igen på hver side..)
og de bliver sat ind ved hjælp af
<?php require("$DOCUMENT_ROOT/includes/(del)-html.php"); ?> men efter at
jeg har smækket en Apache 1.3.24 og PHP 4.2.0 på - får jeg nu følgende
besked:

Fatal error: Failed opening required '/includes/top-html.php'
(include_path='.:/usr/local/lib/php') in
/bib/hvor/sitet/det/findes/www/index.php on line 1

Hvad er det lige, som ikke er, som det burde være..?

René

P.S. hvis jeg inkludere filen ved hjælp af hele roden /www/site/stedet i
stedet for $DOCUMENT_ROOT - er der ingen problem.... hvad går galt..?

--
Nej - jeg taler kun for mig selv.. det er mine meninger, ikke andres..
Web : [ http://www.renenielsen.com/ ]

 
 
Jesper Frank Nemholt (27-04-2002)
Kommentar
Fra : Jesper Frank Nemholt


Dato : 27-04-02 11:56

"René Nielsen" <mig@renenielsen.com> wrote in message
news:20020427.123427.1176911340.9471@renenielsen.com...
> Hej herinde...
> Jeg sidder med et lille problem, jeg har sider, hvor der hentes en top og
> lign. ind fra nogle andre filer (det samme, som går igen på hver side..)
> og de bliver sat ind ved hjælp af
> <?php require("$DOCUMENT_ROOT/includes/(del)-html.php"); ?> men efter at
> jeg har smækket en Apache 1.3.24 og PHP 4.2.0 på - får jeg nu følgende
> besked:
>
> Fatal error: Failed opening required '/includes/top-html.php'
> (include_path='.:/usr/local/lib/php') in
> /bib/hvor/sitet/det/findes/www/index.php on line 1
>
> Hvad er det lige, som ikke er, som det burde være..?

PHP prøver at åbne /includes/top-html.php og ikke
/bib/hvor/sitet/det/findes/www/includes/top-html.php

Givetvis virker din reference til $DOCUMENT_ROOT ikke.

Jeg plejer at bruge :

$HTTP_SERVER_VARS["DOCUMENT_ROOT"]

Alternativt kan du rette i din php.ini så PHP per default har
/bib/hvor/sitet/det/findes/www/includes med i sin include_path. Dette kræver
genstart af Apache.
Bagefter behøver du ikke at referere til /includes/ men kan kalde det som
top-html.php

/Jesper



Jacob Bunk Nielsen (27-04-2002)
Kommentar
Fra : Jacob Bunk Nielsen


Dato : 27-04-02 16:10

"Jesper Frank Nemholt" <jfn@dassic.com> writes:

> Jeg plejer at bruge :
>
> $HTTP_SERVER_VARS["DOCUMENT_ROOT"]

Fra og med PHP 4.1.0 kan det anbefales at bruge de nye superglobale
arrays, så ovenstående bliver til $_SERVER['DOCUMENT_ROOT']

--
Jacob - www.bunk.cc
If this is a service economy, why is the service so bad?

"René Nielsen" (28-04-2002)
Kommentar
Fra : "René Nielsen"


Dato : 28-04-02 16:10

I artikel <aae087$aq5$1@sunsite.dk>, skrev "Jesper Frank Nemholt"
<jfn@dassic.com>:
> PHP prøver at åbne /includes/top-html.php og ikke
> /bib/hvor/sitet/det/findes/www/includes/top-html.php
>
> Givetvis virker din reference til $DOCUMENT_ROOT ikke.
Hmm - det gør den i hverifælde ikke.... har prøvet at ændre i min php.ini
nu, og tilføjet som du foreslog.. og rettet nogle ting, men ligemeget
siger den.. har brugt <?php phpinfo(); ?> for se alle ting omkring PHP -
men rettelserne, som jeg har lavet er ikke kommet frem ved at vise denne
side.. (den siger stadig det samme... - min php.ini er placeret i
/usr/local/lib og /usr/local/lib/php (sikkerhed) - Hvad er det, som er
helt f..... her..?

René

--
Nej - jeg taler kun for mig selv.. det er mine meninger, ikke andres..
Web : [ http://www.renenielsen.com/ ]

Jesper Frank Nemholt (28-04-2002)
Kommentar
Fra : Jesper Frank Nemholt


Dato : 28-04-02 16:27

"René Nielsen" <mig@renenielsen.com> wrote in message
news:20020428.170947.824272813.13893@renenielsen.com...
> I artikel <aae087$aq5$1@sunsite.dk>, skrev "Jesper Frank Nemholt"
> <jfn@dassic.com>:
> > PHP prøver at åbne /includes/top-html.php og ikke
> > /bib/hvor/sitet/det/findes/www/includes/top-html.php
> >
> > Givetvis virker din reference til $DOCUMENT_ROOT ikke.
> Hmm - det gør den i hverifælde ikke.... har prøvet at ændre i min php.ini
> nu, og tilføjet som du foreslog.. og rettet nogle ting, men ligemeget
> siger den.. har brugt <?php phpinfo(); ?> for se alle ting omkring PHP -
> men rettelserne, som jeg har lavet er ikke kommet frem ved at vise denne
> side.. (den siger stadig det samme... - min php.ini er placeret i
> /usr/local/lib og /usr/local/lib/php (sikkerhed) - Hvad er det, som er
> helt f..... her..?

Prøv at se hvor Apache/PHP kigger efter din php.ini ved at se øverst på den
side phpinfo() genererer.
Der skal være en linie a la :

Configuration file (php.ini) path /usr/users/php/etc/php.ini

Der hvor den kigger skal du have din php.ini. Apache skal restartes før det
virker med ændringer i php.ini så vidt jeg husker.

Alternativt kan du som også foreslået bruge PHP variabler der med sikkerhed
virker såsom $HTTP_SERVER_VARS["DOCUMENT_ROOT"] eller
$_SERVER["DOCUMENT_ROOT"]


/Jesper



"René Nielsen" (28-04-2002)
Kommentar
Fra : "René Nielsen"


Dato : 28-04-02 20:50

I artikel <aah4ft$esk$1@sunsite.dk>, skrev "Jesper Frank Nemholt"
<jfn@dassic.com>:
> Der hvor den kigger skal du have din php.ini. Apache skal restartes før
> det virker med ændringer i php.ini så vidt jeg husker.
siger /usr/local/lib/php.ini

> Alternativt kan du som også foreslået bruge PHP variabler der med
> sikkerhed virker såsom $HTTP_SERVER_VARS["DOCUMENT_ROOT"] eller
> $_SERVER["DOCUMENT_ROOT"]
har sagt i dokumentet <?php require(
"$_SERVER["DOCUMENT_ROOT"]/includes/top-index.php"); ?> og jeg får
følgende besked..

Parse error: parse error, unexpected '\"', expecting T_STRING or
T_VARIABLE or T_NUM_STRING in /bib/sitet/www/index.php on line 1

og hvis jeg siger ['DOCUMENT_ROOT'] istedet for med dobbelt " får jeg
følgende besked istedet...

Parse error: parse error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting
T_STRING or T_VARIABLE or T_NUM_STRING in /bib/sitet/www/index.php on line
1

Det spiller ikkerigtigt... hvad er der lige, som ikke virker... jeg er
lidt på bar bund..

René

--
Nej - jeg taler kun for mig selv.. det er mine meninger, ikke andres..
Web : [ http://www.renenielsen.com/ ]

Jesper Frank Nemholt (28-04-2002)
Kommentar
Fra : Jesper Frank Nemholt


Dato : 28-04-02 21:14

"René Nielsen" <mig@renenielsen.com> wrote in message
news:20020428.215008.1776808933.22368@renenielsen.com...
> I artikel <aah4ft$esk$1@sunsite.dk>, skrev "Jesper Frank Nemholt"
> <jfn@dassic.com>:
> > Der hvor den kigger skal du have din php.ini. Apache skal restartes før
> > det virker med ændringer i php.ini så vidt jeg husker.
> siger /usr/local/lib/php.ini
>
> > Alternativt kan du som også foreslået bruge PHP variabler der med
> > sikkerhed virker såsom $HTTP_SERVER_VARS["DOCUMENT_ROOT"] eller
> > $_SERVER["DOCUMENT_ROOT"]
> har sagt i dokumentet <?php require(
> "$_SERVER["DOCUMENT_ROOT"]/includes/top-index.php"); ?> og jeg får
> følgende besked..
>
> Parse error: parse error, unexpected '\"', expecting T_STRING or
> T_VARIABLE or T_NUM_STRING in /bib/sitet/www/index.php on line 1
>
> og hvis jeg siger ['DOCUMENT_ROOT'] istedet for med dobbelt " får jeg
> følgende besked istedet...
>
> Parse error: parse error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting
> T_STRING or T_VARIABLE or T_NUM_STRING in /bib/sitet/www/index.php on line
> 1
>
> Det spiller ikkerigtigt... hvad er der lige, som ikke virker... jeg er
> lidt på bar bund..

Prøv :

require($HTTP_SERVER_VARS["DOCUMENT_ROOT"] . "/includes/top-index.php");

Det der går galt er at du pakker en variabel der benytter "" ind i "" uden
at escape noget. Så bliver PHP parseren forvirret.


/Jesper



"René Nielsen" (29-04-2002)
Kommentar
Fra : "René Nielsen"


Dato : 29-04-02 19:51

I artikel <aahl9p$f8e$1@sunsite.dk>, skrev "Jesper Frank Nemholt"
<jfn@dassic.com>:
> require($HTTP_SERVER_VARS["DOCUMENT_ROOT"] . "/includes/top-index.php");
Jubii - det virkede.... jeg takker for hjælpen..

René

--
Nej - jeg taler kun for mig selv.. det er mine meninger, ikke andres..
Web : [ http://www.renenielsen.com/ ]

Søg
Reklame
Statistik
Spørgsmål : 177559
Tips : 31968
Nyheder : 719565
Indlæg : 6408938
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste