2010-12-02 5 views
1

Je continue à obtenir une erreur lorsque je tente d'inclure simpletest dans mon include_path:PHP include erreur de chemin

<? 
set_include_path(get_include_path() . PATH_SEPARATOR . realpath(basename(dirname(__FILE__)) . '/../../')); 

include 'simpletest/autorun.php'; 

retours:

.:/usr/lib/php:/Users/kristiannissen/Documents/php 
Warning: require_once(/Users/kristiannissen/Documents/php/simpletest/arguments.php): failed to open stream: No such file or directory in /Users/kristiannissen/Documents/php/simpletest/reporter.php on line 13 

Fatal error: require_once(): Failed opening required '/Users/kristiannissen/Documents/php/simpletest/arguments.php' (include_path='.:/usr/lib/php:/Users/kristiannissen/Documents/php') in /Users/kristiannissen/Documents/php/simpletest/reporter.php on line 13 
+0

Quelqu'un at-il déjà trouvé comment résoudre ce problème? SimpleTest ne semble pas fonctionner sans le fichier arguments.php. J'ai téléchargé et substitué dans celui de la version PHP4 de SimpleTest, mais ce n'est pas un remplacement compatible pour le fichier manquant. – Pythovore

+0

Succès. SimpleTest 1.0.1 fonctionne avec CakePHP 1.3.7. – Pythovore

+0

J'ai téléchargé la version 1.0.1 et cela fonctionne bien, il contient beaucoup d'avertissements de dépréciation, mais vous pouvez l'utiliser. –

Répondre

1

personnellement vos pages de vue sont la première exécution, tels que l'indice Les pages .php et view doivent toujours être à la racine de votre fichier html.

dans un délai de index.php vous pouvez faire:

define("BASE_PATH",str_replace("\\","/",dirname(__FILE__))); 

maintenant BASE_PATH serait égal à: /Users/kristiannissen/Documents/php/simpletest

Donc, si vous voulez dans votre répertoire php include_path vous devez utiliser dirname() pour aller UP un répertoire:

//Get an array of your include paths 
$include_parts = explode(PATH_SEPARATOR,get_include_path()); 

//Extend the paths 
$include_parts[] = dirname(dirname(BASE_PATH)); //this is ../../ 

//recompile the paths and set them 
set_include_path(implode(PATH_SEPARATOR,$include_parts)); 

c'est t Il est un moyen sûr d'accomplir ce que vous essayez de faire.

+0

Après avoir passé plus de temps à ce sujet, j'ai découvert que ce n'était pas mon chemin d'inclusion qui était le problème mais le plus simple. Il semble que arguments.php manque dans le dossier, j'ai essayé de le télécharger à nouveau mais ce n'est pas là. –

1

Il existe une version alpha2 sur sourceforge pour laquelle les arguments .php-require doivent être mis en commentaire. Je suppose que ce n'est plus nécessaire.