2014-10-22 3 views
0

Я использую красноречивое orm независимо (не в laravel). В папку более высокого уровня я попробовал:php include file не включает

include '../app/configdb.php'; 

Что не работает: Однако, если я использую это:

$oldcwd = getcwd(); 
chdir("../"); 
include 'app/configdb.php'; 
chdir($oldcwd); 

Это работает. Это справедливо только для моего красноречивого файла инициализации. Позже в том же файле I:

require '../views/petlist.php'; 

И это работает. Любые идеи, почему ../ не будут работать? И я попробовал, а не требовать.

+0

Оказалось ли, что файл не найден или что-то еще? Может быть, 'configdb.php' нужно, чтобы текущий каталог устанавливался в верхнюю часть с помощью' chdir ("../"); 'для включения других файлов, тогда как' include '../ 'не делает этого, и вы остаетесь в ваш оригинальный реж. – Cheery

+0

Недавно у меня была аналогичная проблема, и я решил так: 'require __dir__. '/../ views/petlist.php'; 'возможно, это тоже поможет вам. –

ответ

0

Configdb.php загружает красноречивый материал орма. Содержимое этого файла. Так что да из этого файла красноречивому требуется другой материал.

<?php 

use Illuminate\Database\Capsule\Manager as Capsule; 
require_once 'vendor/autoload.php'; 
$capsule = new Capsule(); 
$capsule->addConnection([ 
    'driver' => 'mysql', 
    'host'  => 'localhost', 
    'database' => 'pbackdate', 
    'username' => 'root', 
    'password' => 'xxxxxxxxxxxxxxxxxxxxxxxx', 
    'charset' => 'utf8', 
    'collation' => 'utf8_unicode_ci', 
    'prefix' => '', 
]); 
//added/ 
//use Illuminate\Events\Dispatcher; 
//use Illuminate\Container\Container; 
//$capsule->setEventDispatcher(new Dispatcher(new Container)); 

//added 
$capsule->setAsGlobal(); 
$capsule->bootEloquent(); 
+0

Спасибо за эту ссылку, но я попробовал все это несколько дней назад. Кажется, что только работа - это chdir («../»); Я снова попробую повторить с этой страницы, если я что-то пропущу. –

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