2010-12-02 9 views
1

я получаю сообщение об ошибке при попытке включить SimpleTest в моем include_path:PHP включают ошибку пути

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

include 'simpletest/autorun.php'; 

возвращается:

.:/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

Кто-нибудь когда-нибудь выясняет, как это решить? SimpleTest не работает без файла arguments.php. Я загрузил и заменил в одном из PHP4-версии SimpleTest, но это не совместимая замена отсутствующего файла. – Pythovore 2011-02-17 21:03:33

+0

Успех. SimpleTest 1.0.1 работает с CakePHP 1.3.7. – Pythovore 2011-02-17 21:48:43

ответ

1

лично ваши просматривать страницы являются первым выполнены, например, индекс .php и страницы просмотра всегда должны находиться в корне вашего html.

так в index.php вы можете сделать:

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

так что теперь BASE_PATH будет равна: /Users/kristiannissen/Documents/php/simpletest

Итак, если вы хотите php каталог в пути поиска, вы должны использовать dirname() идти UP каталог:

//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)); 

это т он безопасный способ выполнить то, что вы пытаетесь сделать.

1

Существует альфа-релиз на sourceforge, который содержит аргументы arguments.php-require. Думаю, это больше не нужно.