mikrocontroller.net

Forum: PC-Programmierung Apache_PHP_Browserfenster bleibt weiß


Autor: Marco17 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
Auf meinem Raspberry läuft Apache2 und ich kann leider nur die Testseite 
von PHP
öffnen. Diese wird richtig angezeigt.

Als ich eine weitere PHP Seite öffnen wollte welche auch HTML enthält 
bleibt der Browser weiß und nichts passiert.

Im Error Log steht nur access denied und der Pfad der PHP Datei. Die 
Datei ansich sollte funktionieren da diese andere user erfolgreich 
ausführen konnten.

Obwohl die Datei HTML enthält habe ich sie so abespeichert

phpversuch.php

In die URL hab ichs so eingegeben

localhost/phpversuch.php

Wie schon gesagt die Testseite funktioniert, aber diese besteht nur aus 
PHP und es ist kein HTML Code enthalten.
Die Index.html geht auch.

Wäre nett wenn jemand einen Tipp hätte

:)

Autor: Peter II (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Marco17 schrieb:
> Wäre nett wenn jemand einen Tipp hätte

einfach mal die Rechte richtig vergeben? Wenn access denied kommt, wird 
das wohl einen Grund haben.

Autor: T.roll (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Marco17 schrieb:
> Im Error Log steht nur access denied

Ach komm.
Übersetzen wir die beiden Worte in unsere Sprache:
"Zugriff verweigert".
→
Apache kann auf deine Dateien nicht zugreifen.

* Wo hast du die Datei gespeichert?
* Wie sehen die Rechte aus?

Autor: Marco17 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich hab sie unter /var/www/html gespeichert. Dort liegt ebenfalls die 
Test.php <----die funktioniert aber. Die PHP Datei was nicht 
funktioniert habe ich vom USB Stick runter gezogen und in /var/www/html 
gespeichert.

Warum kann ich auf die eine Datei zugeifen und auf die andere nicht. 
Wenn ich die Endung der PHP auf HTML ändere kann ich zugreifen. es wird 
halt nur text angezeigt.

Danke

Autor: Daniel Abrecht (daniel-a)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bei einem Berechtigungsproblem sollte Apache die "403 Forbidden" Seite 
senden. bei einer Weissen Seite würde ich auf einen 500 Fehler tippen. 
Den Fehlercode canst du im Networktab deines Browsers nachsehen, bei 
Firefox und Chrome mit F12 zu finden. Alternativ kann man auch curl oder 
wget nehmen.

Ich würde auf jeden fall in php error_reporting un display_errors 
setzen. Das geht in /etc/php/apache*/php.ini oder mit php_flag im apache 
vhost oder einer .htaccess datei.

Autor: S R (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Setze doch einmal den Eigner der Datei auf www-data, bzw. den 
ausführenden User. Wurde doch nun schon 3 mal gesagt.

chown ist das Zauberwort.

Autor: chmod (Gast)
Datum:

Bewertung
-3 lesenswert
nicht lesenswert
chmod +x

Autor: Sabberalot W. (jetztnicht)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die bestehende php Seite wird auch als localhost/xxxx.php aufgerufen ?

Dann zeig doch mal die php datei.
Resp nimm mal eine minimalistische :

<?php
 var_dump $SERVER;
 echo('hallo');
?>

Autor: Peter II (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
chmod schrieb:
> chmod +x

wozu? php werden nicht von den Shell ausgeführt.

Sie haben auch kein Shebang.

Autor: Frank M. (ukw) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Daniel A. schrieb:
> Bei einem Berechtigungsproblem sollte Apache die "403 Forbidden" Seite
> senden.

Eben. Ich vermute auch eher, dass sich "access denied" auf einen 
PHP-Befehl innerhalb des Scripts bezieht. "access denied" kommt mir 
allerdings etwas merkwürdig vor. In der Regel heisst das "permission 
denied". Aber vielleicht war der TO etwas lässig bei der Wiedergabe der 
Fehlermeldung.

Soll der TO mal das PHP-Script und die komplette Fehlermeldung posten. 
Alles andere ist Spekulatius.

Autor: Daniel Abrecht (daniel-a)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
Oh D. schrieb:
> <?php
>  var_dump $SERVER;
>  echo('hallo');
> ?>

Müsste es nicht eher so sein:
<?php
  var_dump( $_SERVER );
  echo 'hallo';
?>

Autor: Marco17 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
<?php
/*********************************************************************** 
*********************
                                                             *
                                                                                            *
  PROJEKT: Ausgabe der durch den Arduino generierten Temperaturwerte der 
letzten 12 Stunden *
                                                                                            *
************************************************************************ 
********************/
?>

<!DOCTYPE HTML>
<html>
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  <meta name="viewport" content="user-scalable=yes, width=device-width">
  <title>ARDUINO - Aktuelle Temperatur</title>
</head>
<body>

<table>
  <tr>
    <td width="120">Datum</td>
    <td width="120">Zeit</td>
    <td width="120">Innen</td>
    <td width="120">Außen</td>
  </tr>

<?php
include("var/www/html/inc/db.inc.php");

$q_data  = mysql_query("SELECT DATE_FORMAT(datumzeit,'%d.%m.%Y') AS 
DATUM, DATE_FORMAT(datumzeit,'%H:%i') AS ZEIT, temp1, temp2 FROM 
arduino_temperaturen WHERE `datumzeit` >= date_sub(now(), interval 12 
hour) AND `datumzeit` <= now()  GROUP BY DATE_FORMAT(datumzeit, 
'%Y-%m-%d %H') ORDER BY datumzeit DESC") or die(mysql_error());
if(mysql_num_rows($q_data) > 0)
{
  while($r_data = mysql_fetch_array($q_data))
  {
    echo "<tr>\n";
    echo "  <td>".$r_data['DATUM']."</td>\n";
    echo "  <td>".$r_data['ZEIT']."</td>\n";
    echo "  <td>".number_format($r_data['temp1'], 2, '.', 
'')."°C</td>\n";
    echo "  <td>".number_format($r_data['temp2'], 2, '.', 
'')."°C</td>\n";
    echo "</tr>\n";
  }
}
else
{
  $E = 1;
  $M = "Es wurden keine Temperaturwerte in der Datenbank gefunden!";
}
?>

    </table>
  </body>
</html>

Ist von Fluux.de
Das Schreiben in die Datenbank funktioniert wunderbar

LG

Autor: Frank M. (ukw) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Marco17 schrieb:
> Im Error Log steht nur access denied und der Pfad der PHP Datei.

Marco17 schrieb:
> <?php
> include("var/www/html/inc/db.inc.php");

Im Error Log steht welcher Pfad welcher PHP-Datei?

Poste bitte die exakte Fehlermeldung. Oder wartest Du lieber auf weitere 
Spekulationen?

: Bearbeitet durch Moderator
Autor: Sabberalot W. (jetztnicht)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> include("var/www/html/inc/db.inc.php");

ist natuerlich Quatsch. Dort muss der Weg von der Document Root stehen, 
und das waere dann ueblicherweise

 include '/html/inc/db.inc.php';

Autor: Daniel Abrecht (daniel-a)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Oh D. schrieb:
>> include("var/www/html/inc/db.inc.php");
>
> ist natuerlich Quatsch. Dort muss der Weg von der Document Root stehen,
> und das waere dann ueblicherweise
>
>  include '/html/inc/db.inc.php';

Nö, dann wäre das:
include($_SERVER['DOCUMENT_ROOT']."/inc/db.inc.php");

Besser wäre es aber, das ganze mit relativen Pfaden zu machen:
include("inc/db.inc.php");

Autor: Daniel Abrecht (daniel-a)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
Frank M. schrieb:
> Daniel A. schrieb:
>> Bei einem Berechtigungsproblem sollte Apache die "403 Forbidden" Seite
>> senden.
>
> Eben. Ich vermute auch eher, dass sich "access denied" auf einen
> PHP-Befehl innerhalb des Scripts bezieht. "access denied" kommt mir
> allerdings etwas merkwürdig vor. In der Regel heisst das "permission
> denied". Aber vielleicht war der TO etwas lässig bei der Wiedergabe der
> Fehlermeldung.

Ich denke er hat falsche Anmeldedaten beim MYSQL Verbindungsaufbau 
angegeben. Dann bekommt man 'Access denied':
abd@basalt ~ $ mysql -u root -h mysql
ERROR 1045 (28000): Access denied for user 'root'@'basalt' (using password: NO)

> Soll der TO mal das PHP-Script und die komplette Fehlermeldung posten.
> Alles andere ist Spekulatius.

Finde ich auch.

Autor: Marco17 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo, jetzt hät ich hier den ganzen Fehlercode

Danke

[Sat Jun 25 15:26:01.517122 2016] [:error] [pid 1770] [client 
127.0.0.1:35328] PHP Warning:  Unknown: failed to open stream: 
Permission denied in Unknown on line 0


[Sat Jun 25 15:26:01.517444 2016] [:error] [pid 1770] [client 
127.0.0.1:35328] PHP Fatal error:  Unknown: Failed opening required 
'/var/www/html/test1.php' 
(include_path='.:/usr/share/php:/usr/share/pear') in Unknown on line 0

Autor: Timm Reinisch (Firma: privatfrickler.de) (treinisch)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

also wenn das der Logauszug zu einem Aufruf deiner Datei ist, dann ist 
das, was Du oben gezeigt hast nicht der Inhalt der Datei.

vlg
 Timm

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.