2016-04-21 2 views
-1

Извините за еще одну главу «php include», но поиск по которой дает около 90 000 записей, и я чувствую, что читал 1/2 из них.PHP «include» failed (redux)

Я воскрешаю веб-страницу, которую я написал около 9 лет назад на Win 2000 Pro. С тех пор я легко портировал его на Ubuntu 10.0, Windows 7 и опубликовал его через 2 разных хостинг-сайта. Теперь я на Ubuntu 14.04, и я не могу заставить команду «включить» php работать. Код выглядит следующим образом:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 
<html> 
<head> 
<title>Main Menu movietime.php</title> 
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> 
</head> 

<?php error_reporting(E_ALL);?> 

<body background="wood.gif"> 
<form method="post"> 
<input type="hidden" name="hiddenn" value="hide & "> 
<hidden name="hidden" value="well hid"> 
</form> 

<?php 
include dirname(__FILE__).'menu.php'; 
?> 

<h1 align="center"><strong>Movie Database</strong></h1> 
<h2 align="center"><strong>Main Menu </strong></h2> 
    <br> 
    <br> 
    <br> 
<?php 
echo '<h3 align="center"><strong>'.$status.'</strong></h3>'; 
?> 

Проблема здесь состоит в том, что включают «menu.php» никогда не бывает так, ссылки на остальные приложения не появляются. Код для menu.php:

<div align="center"> 
<font size="2"> 
<a href="../">Home Page</a> &nbsp;&nbsp; 
<a href="create.php">Create Movie Table</a> &nbsp;&nbsp; 
<a href="drop.php">Delete Movie Table </a>&nbsp;&nbsp; 
<a href="list_radio.php">List</a>&nbsp;&nbsp; 
<a href="add.php">Add Movie</a> 
<a href="delete.php">Delete Movie</a></font> 
</div> 

Следующая инструкция php для отображения состояния $ всегда работает. Я бы хотел показать вам результирующую страницу, но у меня нет достаточного количества баллов для этого (я думаю ... первый раз здесь).

вещи я попытался это:

  • Ctrl-U на Firefox показывает источник. Источник, отображаемый ctrl-u , не отличается от исходного кода.

  • Я установил файл php_errors.log в/var/log и указал на него в пределах
    php.ini. Ничего в этом не происходит. Разрешения - 755. Я даже
    с ошибкой «включить» и по-прежнему нет ошибок.

  • Заменено php.ini_development для php.ini и по-прежнему не нужно.
    (error_reporting и display_errors были включены в обоих случаях).

  • I tail -f Apache access.log в одном окне xterm и хвосте -f error.log в другом. Единственный раз, когда я вижу вывод в error.log, - это когда Я завершаю/запуска Apache. Единственный раз, когда я вижу вывод в access.log , - это когда я перезагружаю страницу. Он показывает GET для movietime.php и GET для wood.gif и все.

  • Исправлена ​​замена полной ссылки на каталог для "dirname (FILE)" в заявлении include ... nogo.

Не знаю, что еще делать в этот момент. Я запускаю Apache 2.4.7 и PHP 5.5.9

Я с нетерпением жду любых предложений и идей.

--thanks --Gary

+0

' 'И' ' –

+4

' dirname() 'не возвращает конечную косую черту, поэтому вы создаете'/foo/barmenu.php', а не '/ foo/bar/menu.php'.И если вы видите PHP-код в источнике просмотра вашего браузера, то вы ** НЕ ** выполняете php-код вообще. сценарий отправляется как обычный текст. –

+0

Я добавил там «ini_set» и исправил недостающие «/» перед menu.php и ничего не вижу. –

ответ

-2

Убедитесь, что ваш URLs есть абсолютный путь, например: /path/file.php не пути/file.php

+0

if include() не работает, require() также не будет работать. –