2010-06-18 4 views
0

J'ai mis à jour PHP sur mon système de développement local vers la version 5.3.0, et il y a un problème quand j'utilise des constantes dans application.ini - manuel suivant http://framework.zend.com/manual/en/learning.quickstart.create-project.html J'ai:Problème avec les constantes dans application.ini après la mise à niveau de PHP

bootstrap.path = APPLICATION_PATH "/Bootstrap.php" 

ce qui conduit à:

Warning: require_once(APPLICATION_PATH/Bootstrap.php) [function.require-once]: failed to open stream: No such file or directory in Zend\Application.php on line 320 

des idées?


SOLVED:

fait nommer de ma constante a été _DIR_APPLICATION (code ci-dessus a été copié manuel ZF) - problème réside dans ce trait de soulignement au début - il semble que parse_ini_file() en PHP 5.3.0 ne remplace pas les constantes nommées comme ceci.

Test court - vous avez besoin de deux fichiers:

test.ini

bootstrap.path = _DIR_APPLICATION "/Bootstrap.php" 
bootstrap.class = "Bootstrap" 

et Test.php

<?php 

define('_DIR_APPLICATION', 'test'); 

$data = parse_ini_file('test.ini'); 
print_r($data); 

essayez d'exécuter, puis changer le nom constant 'DIR_APPLICATION' (dans les deux fichiers) et comparer résultat;)

+0

et quand je repasse en 5.2.11 tout fonctionne bien – Marek

Répondre

0

Votre problème est probablement lié à un changement à 'open_ba sedir 'in php 5.3.0

cf. La valeur open_basedir peut être définie dans votre fichier httpd.conf, dans le fichier php.ini ou lors de l'exécution avec ini_set(). Je vous recommande de regarder cette valeur avec phpinfo(), en comparant les 2 versions de PHP que vous utilisez.

+0

dans les deux versions: open_basedir => aucune valeur – Marek

Questions connexes