Entschuldigung für ein weiteres "php include" -Kapitel, aber die Suche nach diesem gibt etwa 90.000 Einträge und ich habe das Gefühl, ich habe 1/2 davon gelesen.PHP "include" schlägt fehl (redux)
Ich reanimiere eine Webseite, die ich vor 9 Jahren auf Win 2000 Pro geschrieben habe. Seitdem habe ich es einfach auf Ubuntu 10.0, Windows 7 portiert und es online über 2 verschiedene Hosting-Seiten veröffentlicht. Jetzt bin ich auf Ubuntu 14.04 und ich kann den php "Einschluss" Befehl nicht zum Funktionieren bringen. Der Code lautet wie folgt:
<!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>';
?>
Das Problem hierbei ist, dass die für ‚menu.php‘ sind nie so die Links zu dem Rest der Anwendung geschieht nicht erscheinen. Der Code für menu.php ist:
<div align="center">
<font size="2">
<a href="../">Home Page</a>
<a href="create.php">Create Movie Table</a>
<a href="drop.php">Delete Movie Table </a>
<a href="list_radio.php">List</a>
<a href="add.php">Add Movie</a>
<a href="delete.php">Delete Movie</a></font>
</div>
Die folgende php-Anweisung zum Anzeigen des $ Status funktioniert immer. Ich möchte Ihnen die resultierende Seite zeigen, aber ich habe nicht genug Punkte dafür (ich denke ... das erste Mal hier).
Dinge, die ich habe versucht, sind:
ctrl-u auf Firefox die Quelle zeigt. Die von ctrl-u angezeigte Quelle unterscheidet sich nicht vom ursprünglichen Code.
Ich habe eine php_errors.log-Datei in/var/log eingerichtet und darauf innerhalb
php.ini hingewiesen. Nichts geht jemals hinein. Berechtigungen sind 755. Ich sogar
falsch geschrieben "include" und immer noch keine Fehler.Substituierte php.ini_development für php.ini und immer noch nicht gehen.
(error_reporting und display_errors wurden in beiden aktiviert).Ich tail -f die Apache access.log in einem Xterm-Fenster und Tail -f die error.log in einem anderen. Die einzige Zeit, die ich Ausgabe in error.log sehe, ist, wenn ich Apache herunterfahren/starte. Die einzige Zeit, die ich Ausgabe in access.log sehe, ist, wenn ich die Seite neu lade. Es zeigt ein GET für movietime.php und ein GET für wood.gif und das war's.
Versucht, einen vollständigen Verzeichnisverweis für "dirname (FILE)" in der include-Anweisung ... nogo.
Ich weiß nicht, was ich zu diesem Zeitpunkt noch tun soll. Ich laufe Apache 2.4.7 und PHP 5.5.9
Ich freue mich auf alle und alle Vorschläge/Erkenntnisse.
--thanks --Gary
' Php error_reporting? (E_ALL); ini_set ('display_errors', 1);?> 'Und' Php include (dirname (__DATEI __). '/ Menu.php'); ?> ' –
' dirname() 'gibt keinen abschließenden Schrägstrich zurück, also produzieren Sie'/foo/barmenu.php' anstelle von '/ foo/bar/menu.php'.Und wenn Sie den PHP-Code in der View-Quelle Ihres Browsers sehen, dann führen Sie ** ** ** den PHP-Code überhaupt nicht aus. Das Skript wird als einfacher Text gesendet. –
Ich habe das 'ini_set' dort eingefügt und das fehlende '/' vor der menu.php korrigiert und sehe immer noch nichts. –