2013-04-12 2 views
1

У меня возникла проблема с моими настройками php, я точно знаю, что точно такая же библиотека отлично работает для моего партнера на сервере HIS.PHP: set_include_path и require_once(): Требуется неудачное открытие

$inc_path = get_include_path(); 
$inc_path .= PATH_SEPARATOR . "./rtmp" . PATH_SEPARATOR . "./SabreAMF"; 
set_include_path($inc_path); 

require_once 'rtmp/SabreAMF/OutputStream.php'; 
require_once 'rtmp/SabreAMF/InputStream.php'; 
require_once 'rtmp/SabreAMF/AMF0/Serializer.php'; 
require_once 'rtmp/SabreAMF/AMF0/Deserializer.php'; 
require_once 'rtmp/SabreAMF/TypedObject.php'; 

и это то, что я получаю

Warning: require_once(rtmp/SabreAMF/OutputStream.php): failed to open stream: No such file or directory in C:\Program Files (x86)\EasyPHP-12.1\www\phpLoL-master\rtmp\RtmpClient.php on line 7 

Fatal error: require_once(): Failed opening required 'rtmp/SabreAMF/OutputStream.php' (include_path='.;C:\php\pear;./rtmp;./rtmp/SabreAMF;./rtmp;./SabreAMF') in C:\Program Files (x86)\EasyPHP-12.1\www\phpLoL-master\rtmp\RtmpClient.php on line 7 
+0

Файл 'OutputStream.php' присутствует в папке' SabreAMF'? –

+0

Вы ошибаетесь в том, как вы включаете, вам просто нужно сказать require_once OutputStream.php –

+0

Поскольку вы уже знаете PHP, что ваш путь include - это $ inc_path. = PATH_SEPARATOR. "./rtmp". PATH_SEPARATOR. "./SabreAMF"; –

ответ

0

Попробуйте с

$inc_path = $_SERVER['DOCUMENT_ROOT'];  
require_once $inc_path.'/rtmp/SabreAMF/OutputStream.php';  
require_once $inc_path.'/rtmp/SabreAMF/InputStream.php';  
require_once $inc_path.'/rtmp/SabreAMF/AMF0/Serializer.php';  
require_once $inc_path.'/rtmp/SabreAMF/AMF0/Deserializer.php';  
require_once $inc_path.'/rtmp/SabreAMF/TypedObject.php'; 
0

На самом деле вы настраиваете включаемые тракту

уже как это

$inc_path .= PATH_SEPARATOR . "./rtmp" . PATH_SEPARATOR . "./SabreAMF"; 
set_include_path($inc_path); 

Поскольку в настоящее время PHP знает, что когда-нибудь файл, который вы в том числе может быть на этом пути, вы можете просто включить, как показано ниже

require_once 'OutputStream.php'; 

или

require_once 'AMF0/Deserializer.php'; 

ПРИМЕЧАНИЕ: - Я полагаю, что вы делая set_include_path в вашем приложении bootstrap, другой мудрый этот подход набора включает путь про грамматически не работает вообще

+0

Квесты, я думаю, php предполагает наличие некоторых параметров, которые я могу изменить для работы этого кода, потому что он работает на других php-серверах. – 2013-04-12 11:26:41

+0

может быть не для того, чтобы он не появлялся на ремне загрузки, или вы не дали разрешения на чтение для своих файлов. –

+0

Я могу изменить все файлы вручную до тех пор, пока он не будет работать, но я хочу знать, почему он работает в одной системе, а не в другой. – 2013-04-12 12:00:56

1

Обновление для php 5.4 решило проблему.

Смежные вопросы