Тема: Не можу зрозуміти чому не працює require_once

Я зробив вордпрес плагін який працює на тестовому хостингу...

...після перенесення плагіну на "реальний" хостинг не підключається файл (require_once) і не показує жодних помилок.
Я пробував замість require_once використовувати require та include - не показує жодного результату (навіть помилок), думав можливо шлях до файлу не вірний - вірний (перевірив file_exists функцією)


Ось фрагменти коду

Головний файл плагіну concerts.php

define( 'WD_CONCERTS_DIR', WP_PLUGIN_DIR . "/" . plugin_basename(dirname(__FILE__)));

...
файл concerts/template/template-settings-concert-type.php

echo 'ok = ' . (WD_CONCERTS_DIR . '/template/template-settings-full.php').'<br>';
    
    if(file_exists( WD_CONCERTS_DIR . '/template/template-settings-full.php' ))
    {
     echo '--- file_exists ---';
    } else {
       echo '--- Not file_exists ---';
    }
    
    require_once(WD_CONCERTS_DIR . '/template/template-settings-full.php');

...
файл concerts/template/template-settings-full.php

<?php
echo 'ok2 = template-settings-full.php'

результат

(*** - назва сайту)

На "реальному" хостингу
ok = /customers/9/c/9/***.***/httpd.www/wp-content/plugins/concerts/template/template-settings-full.php
/customers/9/c/9/***.***/httpd.www
--- file_exists ---

Очікуваний результат
ok = /customers/9/c/9/***.***/httpd.www/wp-content/plugins/concerts/template/template-settings-full.php
/customers/9/c/9/***.***/httpd.www
--- file_exists ---
ok2 = template-settings-full.php

Виходить що помилка не в коді (чи в коді ?), підкажіть чому можлива така поведінка, може php.ini, .htaccess чи щось інше впливає на підключення файлів ? Як все таки можна дізнатися причину чому файл не підключається ?

2

Re: Не можу зрозуміти чому не працює require_once

Помилки в логах дивилися?
Права на файл template-settings-full.php на читання та виконання для веб-сервера виставлені?

Подякували: Betterthanyou, leofun012

3

Re: Не можу зрозуміти чому не працює require_once

В доках написано, що інформацію про поведінку функції require_once потрібно дивитися в include_once, а там є приклад використання цих функцій.
В require_once потрібно передавати тільки <відносний шлях до файлу>+<ім'я файлу>.
А ви певно намагалися запхати туди повний шлях.

Попробуйте

<?php
    require_once('template-settings-full.php');
?>

4

Re: Не можу зрозуміти чому не працює require_once

Там можна і абсолютний шлях давати.

Подякували: leofun011