включать / требовать разрешение пути

У меня есть такая ситуация в PHP, где include пропускается на одном сервере, но не на другом (я не настраивал серверы, поэтому не могу рассказать вам больше; на самом деле я не специалист по devops, поэтому я и спрашиваю здесь). Код идентичен на обоих серверах, и оба работают под управлением Ubuntu 14.04 с PHP FPM 5.5.9.

Вот пример:

file1.php

<?php
var_export('1');
include_once('somedir/file2.php');
include_once('include.php');
?>

include.php

<?php
var_export('2');

function foo() {}
?>

somedir / file2.php

<?php
var_export('3');
//notice it has the same name as include.php in the starting directory
include_once('include.php');
?>

somedir / include.php

<?php
var_export('4');

function foo() {}
?>

Если я перейду к file1.php, рабочий сервер напечатает 1, 3, 2. Если я перейду к file1.php на «сломанном» сервере, я получу сообщение об ошибке, что функция foo не может быть переопределена.

Есть ли какая-то настройка на моем «сломанном» сервере, которая вызывает его включение второго включения? Спасибо!

0

Решение

Поместите это в file1.php на обеих системах: echo get_include_path(); и посмотрим что получится (тм).

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]