2015-04-08 2 views
0

Например у меня есть 2 файла:PHP. Зачем возвращаться в включенный файл dosen't присваивать переменной?

//db.php 
return array(
    'server'=>'localhost', 
    'db'=>'mydb', 
    'name'=>'root', 
    'password'=>'root', 
); 

и второй файл:

//index.php 
$config = (include 'db.php'); 

После этого $config = 1, если файл включен или $config = 0, если файл не включен, но $config должен быть array() в db.php файле.

В чем проблема?

окна 7х64, Apache 2.2, PHP 5.4

+0

посмотреть http://php.net/manual/en/function.include.php, пример № 5 включить и оператор возврата – MrQwertggf

+0

я знаю, что я могу использовать функцию, но это не мой проект, и он имеет этот код и этот код работает на сервере, но не работает на моем localhost ... – MrQwertggf

+2

Нет очевидной причины, по которой он не должен работать. Убедитесь, что вы включили правильный файл, что нет другого файла с тем же именем в другом месте пути, который мог бы быть тем, который фактически был включен вместо этого. –

ответ

0

истинный ответ от deceze SHORT ОТКРЫТОГО TAG !!! <? The array is not supposed to be output at all; if it is, something's wrong with your file. In this case, PHP isn't configured to handle short open tags

0

Вы можете использовать INI файл учетных данных БД. Не забудьте запретить доступ к config.ini в файле .htaccess.

config.ini

[database] 
server = localhost 
db = mydb 
name = root 
password = root 

index.php

<?php 
    $config = parse_ini_file('config.ini'); 

    // Access to credentials 
    echo $config['server']; 
?> 
+0

Как я уже говорил, это не мой проект, я делаю его с другими разработчиками, и мы используем VCS. Я не хочу менять код ядра для конфигурации загрузки. – MrQwertggf

+0

Хотя, да, правда, но это не отвечает на вопрос. – deceze

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