Хорошо, вот как выглядит мой код
index.php
require_once($WebsiteRoot . "/include/testfile.php"); TestFunction();
/include/testfile.php
function TestFunction() { echo "It Works"; }
И это дает мне ошибку:
Fatal error: Call to undefined function TestFunction() in /path/index.php on line 49
Любая идея, что я делаю неправильно? благодаря
Убедитесь, что вы включили файл, который, как вы думаете. Если ваша страница index.php
выглядит так, как вы заявили, она ничего не вернет.
Если вы хотите ссылаться на одно и то же местоположение из любого места на сайте, не беспокоясь об относительных местоположениях, то в начале файла поставьте:
$WebsiteRoot=$_SERVER['DOCUMENT_ROOT'];
И он должен работать нормально, если ваш файл будет расположен по адресу http://mywebsite.com/include/testfile.php
Вы не включили <?php
во включенный файл, поэтому он просто интерпретируется как вход в открытый текст.
Помните … нет такой вещи, как PHP-скрипт. Есть только файлы, содержащие блоки кода PHP. Без хотя бы одного <?php
открытия <?php
интерпретатор PHP никогда не будет вызываться, и содержимое файла будет просто рассматриваться как выход.
попробуйте вызвать другую функцию из testfile.php, если это не работает, то что-то с include. Добавьте код:
error_reporting(E_ALL | E_WARNING | E_NOTICE); ini_set('display_errors', TRUE);
вверху index.php и обновите браузер, чтобы увидеть свои ошибки, попробуйте отладить оттуда.
Проблема, которую я могу предвидеть, заключается в том, что вы используете URL-адрес вместо пути, переменная $ websiteRoot должна содержать путь, такой как:
$websiteRoot = "/var/www/html/websiteName"; OR $websiteRoot = "C://xampp/htdocs/websiteName";
вместо URL-адреса:
$websiteRoot = "http://www.somesite.com";