PDA

Bekijk Volledige Versie : PHP Include Error



SNS
29/04/04, 17:29
Ik probeer www.sitexxx.net/client/ te openen.
functions.inc.php staat in include/,
Errors:


Warning: main(include/config/config.locale.php): failed to open stream: No such file or directory in /home/sites/sitexxx/public_html/client/include/functions.inc.php on line 83

Warning: main(): Failed opening 'include/config/config.locale.php' for inclusion (include_path='/usr/lib/php:/usr/local/lib/php') in /home/sites/sitexxx/public_html/client/include/functions.inc.php on line 83
Problem connecting to your database. Please check your config settings.


Dezelfde errors staan in alleen een iets andere opmaak in error_log.

include/config/locate.php is een zend encrypted bestand.
Ik draai FreeBSD 5.2.1 met PHP 4.3.6 met de Zend® scripting engine erin.
Als ik kijk in de shell:



server# pwd
/home/sites/sitexxx/www/client
server# ls -al include/config | grep locale
-rwxr-xr-x 1 sitexxx sitexxx 6682 Apr 29 15:11 config.locale.php

Heeft iemand een idee hoe dit dan kan komen?

The MAzTER
29/04/04, 17:31
staat toch duidelijk dat ie de file config.locale.php niet kan vinden.

oscar
29/04/04, 17:44
Origineel geplaatst door tklaver
Ik probeer www.sitexxx.net/client/ te openen.
functions.inc.php staat in include/,
Errors:



Dezelfde errors staan in alleen een iets andere opmaak in error_log.

include/config/locate.php is een zend encrypted bestand.
Ik draai FreeBSD 5.2.1 met PHP 4.3.6 met de Zend® scripting engine erin.
Als ik kijk in de shell:


Heeft iemand een idee hoe dit dan kan komen?


wat dacht je van /home/sites/sitexxx/public_html/client/include in je include|_path op te nemen

The MAzTER
29/04/04, 17:45
overigens, ik zou een config altijd BUITEN de www root zetten.

SNS
29/04/04, 17:48
Maar je gaat toch niet voor alles wat je moet includen dingen toevoegen aan je include_path? Lijkt me niet nuttig.

oscar
29/04/04, 17:51
waarom lijkt je dat niet nuttig?

a

SNS
29/04/04, 17:54
Origineel geplaatst door The MAzTER
overigens, ik zou een config altijd BUITEN de www root zetten.

Blame ModernBill ;)

Overigens, ik heb wat gespeeld met include en kreeg het volgende


root.php - include("include/file.php");
include/file.php - include("include/file2.php");
include/file2.php - random text


Dit geeft de error, maar zou naar mijn weten gewoon moeten werken.



root.php - include("include/file.php");
include/file.php - include("include/file2.php");
include/include/file2.php - random text


Dit werkt wel, maar dan moeten er met Zend gecodeerde gedeeltes van de ModernBill code gewijzigd worden. Dus dat hoort niet.

SNS
29/04/04, 17:55
Origineel geplaatst door oscar
waarom lijkt je dat niet nuttig?

a

Omdat als je 20 files moet includen uit verschillende folders je niet overal de include_path ga aanpassen.

oscar
29/04/04, 18:14
zet ze dan allemaal in dezelfde folder.

klinkt mischien kortaf, maar met cgi en include heb je hetzelde of met C en libraries, elke library die ik wil includen moet ik in LD_LIBRARY_PATH zetten, its life.

of is het tegenwoordig anders?

SNS
29/04/04, 18:26
Ik snap wel wat je bedoelt, maar het werkt iets anders.
Dit is +/- de directory structuur die ModernBill gebruikt:


| index.php
| includes/
|-- /config/
|----- config.locale.php
|-- functions.inc.php


Vanuit index.php wordt functions.inc.php aangeroepen. Dit geeft geen enkel probleem.
Dan wordt vanuit functions.inc.php includes/config/config.locale.php aangeroepen.
Dit geeft de error aangezien er geen includes/includes/config/config.locale.php bestaat (zie de 2e includes).
Het toevoegen van het path aan de include_path werkt wel maar dat zou niet hoeven.

Maar net nu ik klaar ben met typen bedenk ik me wat, dus dat ga ik nu proberen, hehe ;)

SNS
29/04/04, 18:30
Geinig, probleem opgelost.

include_path='/usr/lib/php:/usr/local/lib/php'

Ik heb dit veranderd naar include_path='.:/usr/lib/php:/usr/local/lib/php' en nu werkt het. Evengoed hartstikke bedankt voor het meedenken!