php4 werkt niet op debian...html wel

Pagina: 1
Acties:
  • 128 views sinds 30-01-2008
  • Reageer

  • GeertJohan
  • Registratie: Januari 2006
  • Laatst online: 12-10-2025
hai, ik heb op debian de paketten apache2 php4 libapache2-mod-php4 php4-cli php4-common en php4-cgi geinstaleerd

echter als ik een simpele php pagina oproep krijg ik een fout:
<html>
<head><title>welcome php test</title></head>
<body>
<?php
echo "yes";
phpinfo()
?>
</body>
</html>
geeft:
Warning: Unknown(/var/www/test/index.php): failed to open stream: Permission denied in Unknown on line 0

Warning: (null)(): Failed opening '/var/www/test/index.php' for inclusion (include_path='.:/usr/share/php:/usr/share/pear') in Unknown on line 0
wat is hier fout??
ik hoop dat iemand mij kan helpen
groeten: Geert-Johan

  • DataGhost
  • Registratie: Augustus 2003
  • Laatst online: 10-02 08:45

DataGhost

iPL dev

GJR - Squarc schreef op zaterdag 30 september 2006 @ 21:44:
hai, ik heb op debian de paketten apache2 php4 libapache2-mod-php4 php4-cli php4-common en php4-cgi geinstaleerd

echter als ik een simpele php pagina oproep krijg ik een fout:

[...]

geeft:

[...]


wat is hier fout??
ik hoop dat iemand mij kan helpen
groeten: Geert-Johan
iets met je rechten. verder kunnen wij het ook niet ruiken, geef eens wat meer info? Wat heb je zelf al geprobeerd enzo?
verder is phpconfig() geen geldig commando naar mijn weten, je bedoelt phpinfo(). Ook weet ik niet zeker of er per se een spatie tussen 'echo' en je string moet, het is iig wel zo netjes dat wel te doen.

[ Voor 16% gewijzigd door DataGhost op 30-09-2006 21:49 ]


  • GeertJohan
  • Registratie: Januari 2006
  • Laatst online: 12-10-2025
ok die heb ik ge-edit, ik heb zelf al zonder firewall(shorewall) geprobeerd en ik heb een reinstal gedaan. maar verder weet ik niet wat ik er zelf aan kan doen, ik kreeg al eerder de tip dat het wel eens zou kunnen liggen aan de userpermision waar php4 onder draait, maar ik weet niet hoe ik daar achter kan komen. php4 draait toch gewoon onder apache2?? en dat draait onder de user www-data en die staat volgens mij gewoon hoog genoeg.

ik hoop dat iemand het antwoord weet.
--
GJ

alvast bedankt

  • Pyrus
  • Registratie: November 2001
  • Laatst online: 07-02 10:16

Pyrus

Hardknock life

GJR - Squarc schreef op zaterdag 30 september 2006 @ 21:44:
hai, ik heb op debian de paketten apache2 php4 libapache2-mod-php4 php4-cli php4-common en php4-cgi geinstaleerd

echter als ik een simpele php pagina oproep krijg ik een fout:

[...]

geeft:

[...]


wat is hier fout??
ik hoop dat iemand mij kan helpen
groeten: Geert-Johan
Er zit gewoon een fout in je code. Het moet dit zijn:
PHP:
1
2
3
4
5
6
7
8
9
<html>
<head><title>welcome php test</title></head>
<body>
<?php
echo "yes";
phpinfo();
?>
</body>
</html>


; vergeten achter phpinfo dus.

LinkedIn


  • mithras
  • Registratie: Maart 2003
  • Niet online
Pyrus schreef op zaterdag 30 september 2006 @ 22:00:
[...]


Er zit gewoon een fout in je code. Het moet dit zijn:
PHP:
1
2
3
4
5
6
7
8
9
<html>
<head><title>welcome php test</title></head>
<body>
<?php
echo "yes";
phpinfo();
?>
</body>
</html>


; vergeten achter phpinfo dus.
Dat zou een parse error geven, niet een permission denied.

@TS: Mischien wat verkeerd gegaan bij installatie? Verwijder (en purge) je pakketten eens, en doe dan een clean install met
apt-get install apache2 php4 libapache2-mod-php4
Dan zou het in principe moeten werken...

Verder heb je php niet als aparte user draaien ofzo?

  • GeertJohan
  • Registratie: Januari 2006
  • Laatst online: 12-10-2025
ik heb php4 niet zelf onder een andere user gezet... miscfhien automatisch bij de instalatie gebeurd/??
en wat is purge?
en clean install is gewoon eraf halen en dan erop zetten als eerst(dus zonder config bestanden te behouden enzo?)

alvast bedankt
--
GJ

  • mithras
  • Registratie: Maart 2003
  • Niet online
GJR - Squarc schreef op zaterdag 30 september 2006 @ 22:19:
ik heb php4 niet zelf onder een andere user gezet... miscfhien automatisch bij de instalatie gebeurd/??
en wat is purge?
en clean install is gewoon eraf halen en dan erop zetten als eerst(dus zonder config bestanden te behouden enzo?)

alvast bedankt
--
GJ
Purgen doe je tijdens je deinstallatie en daarmee gooi je ook je configuratie (vaak in /etc/) weg. Mocht daar de fout in zitten, worden die anders niet overschreven door de nieuwe installatie. Wat je dus invoert (als root zijnde of met sudo):
apt-get remove --purge apache2 php4 libapache2-mod-php4 php4-cli php4-common php4-cgi
apt-get install apache2 php4 libapache2-mod-php4
ik weet niet waarom je ook php4-cli hebt, maar php4-cgi en php4-common worden als vereisten nu gewoon mee geïnstalleerd met php4 :)

offtopic:
En je hoeft niet te groeten @ GoT

  • Stamgastje
  • Registratie: April 2003
  • Laatst online: 02-02-2020
Heb je hier al naar gekeken? Ik denk inderdaad dat Apache (en dus PHP) geen leesrechten heeft op de PHP files. Onder Debian draait Apache standaard als gebruiker www-data. Probeer eens met SSH in te loggen op de server en doe dan "su www-data" (dus neem de rechten van de gebruiker www-data aan) en kijk of je de bestanden kunt lezen.

  • GeertJohan
  • Registratie: Januari 2006
  • Laatst online: 12-10-2025
Stamgastje schreef op zaterdag 30 september 2006 @ 22:59:
[...]

Heb je hier al naar gekeken? Ik denk inderdaad dat Apache (en dus PHP) geen leesrechten heeft op de PHP files. Onder Debian draait Apache standaard als gebruiker www-data. Probeer eens met SSH in te loggen op de server en doe dan "su www-data" (dus neem de rechten van de gebruiker www-data aan) en kijk of je de bestanden kunt lezen.
ik heb het gevonden, niemand buiten mij mocht het bestand uitvoeren en dat is dus waarom www-data de php niet kon verwerken, nu veranderd en werkt goed
maar, hoe kan ik er dan voor zorgen dat dat automatisch gebeurd?(dus met ieder toegevoegd bestand in die map of via ftp geupload?)

alvast bedankt
--
GJ

[ Voor 16% gewijzigd door GeertJohan op 01-10-2006 13:25 ]


Verwijderd

Hoi ik heb hier een fout in, kan iemand hem zien, ik zie het echt niet!.

Als ik op de site kijk dan krijg ik deze foutmelding kijk hier: http://maudew.100webspace.net/

Dus dan klopt er iets niet in de index.php. maar ik zie het nogmaals niet.


<?
ob_start("ob_gzhandler");

require "Include/bittorrent.php";

dbconn(true);
if ($HTTP_SERVER_VARS["REQUEST_METHOD"] == "POST")
{
$choice = $_POST["choice"];
if ($CURUSER && $choice != "" && $choice < 256 && $choice == floor($choice))
{
$res = mysql_query("SELECT * FROM polls ORDER BY added DESC LIMIT 1") or sqlerr();
$arr = mysql_fetch_assoc($res) or die("No poll");
$pollid = $arr["id"];
$userid = $CURUSER["id"];
$res = mysql_query("SELECT * FROM pollanswers WHERE pollid=$pollid && userid=$userid") or sqlerr();
$arr = mysql_fetch_assoc($res);
if ($arr) die("Dupe vote");
mysql_query("INSERT INTO pollanswers VALUES(0, $pollid, $userid, $choice)") or sqlerr();
if (mysql_affected_rows() != 1)
stderr("Error", "An error occured. Your vote has not been counted.");
header("Location: $BASEURL/");
die;
}
else
stderr("Error", "Please select an option.");
}


$a = @mysql_fetch_assoc(@mysql_query("SELECT id,username FROM users WHERE status='confirmed' ORDER BY id DESC LIMIT 1")) or die(mysql_error());
if ($CURUSER)
$latestuser = "<a href=userdetails.php?id=" . $a["id"] . ">" . $a["username"] . "</a>";
else
$latestuser = $a['username'];


$registered = number_format(get_row_count("users"));
//$unverified = number_format(get_row_count("users", "WHERE status='pending'"));
$torrents = number_format(get_row_count("torrents"));
$dead = number_format(get_row_count("torrents", "WHERE visible='no'"));
/*
$r = mysql_query("SELECT value_u FROM avps WHERE arg='seeders'") or sqlerr(__FILE__, __LINE__);
$a = mysql_fetch_row($r);
$seeders = 0 + $a[0];
$r = mysql_query("SELECT value_u FROM avps WHERE arg='leechers'") or sqlerr(__FILE__, __LINE__);
$a = mysql_fetch_row($r);
$leechers = 0 + $a[0];
if ($leechers == 0)
$ratio = 0;
else
$ratio = round($seeders / $leechers * 100);
*/
$seeders = number_format(get_row_count("peers", "WHERE seeder='yes'"));
$leechers = number_format(get_row_count("peers", "WHERE seeder='no'"));
$peers = number_format($seeders + $leechers);
if ($leechers == 0)
$ratio = 0;
else
$ratio = round($seeders / $leechers * 100);


$dt = gmtime() - 180;
$dt = sqlesc(get_date_time($dt));
$res = mysql_query("SELECT id, username, class, donor FROM users WHERE last_access >= $dt ORDER BY username") or print(mysql_error());
while ($arr = mysql_fetch_assoc($res))
{
if ($activeusers) $activeusers .= ",\n";
switch ($arr["class"])
{
case UC_SYSOP:
case UC_ADMINISTRATOR:
case UC_MODERATOR:
$arr["username"] = "<font color=#A83838>" . $arr["username"] . "</font>";
break;
case UC_UPLOADER:
$arr["username"] = "<font color=#4040C0>" . $arr["username"] . "</font>";
break;
}
$donator = $arr["donor"] > 0;
if ($donator)
$activeusers .= "<nobr>";
if ($CURUSER)
$activeusers .= "<a href=userdetails.php?id=" . $arr["id"] . "><b>" . $arr["username"] . "</b></a>";
else
$activeusers .= "<b>$arr[username]</b>";
if ($donator)
$activeusers .= "<img src=".$pic_base_url."star.gif alt='Donated $$arr[donor]'></nobr>";
}
if (!$activeusers)
$activeusers = "There have been no active users in the last 15 minutes.";

stdhead();
echo "<font class=small>Welcome to our newest member, <b>$latestuser</b>!</font>\n";

print("<table width=737 class=main border=0 cellspacing=0 cellpadding=0><tr><td class=embedded>");
print("<h2>Recent news");
if (get_user_class() >= UC_ADMINISTRATOR)
print(" - <font class=small>[<a class=altlink href=news.php><b>News page</b></a>]</font>");
print("</h2>\n");
$res = mysql_query("SELECT * FROM news WHERE ADDDATE(added, INTERVAL 45 DAY) > NOW() ORDER BY added DESC LIMIT 10") or sqlerr(__FILE__, __LINE__);
if (mysql_num_rows($res) > 0)
{
print("<table width=100% border=1 cellspacing=0 cellpadding=10><tr><td class=text>\n<ul>");
while($array = mysql_fetch_array($res))
{
print("<li>" . gmdate("Y-m-d",strtotime($array['added'])) . " - " . $array['body']);
if (get_user_class() >= UC_ADMINISTRATOR)
{
print(" <font size=\"-2\">[<a class=altlink href=news.php?action=edit&newsid=" . $array['id'] . "&returnto=" . urlencode($_SERVER['PHP_SELF']) . "><b>E</b></a>]</font>");
print(" <font size=\"-2\">[<a class=altlink href=news.php?action=delete&newsid=" . $array['id'] . "&returnto=" . urlencode($_SERVER['PHP_SELF']) . "><b>D</b></a>]</font>");
}
print("</li>");
}
print("</ul></td></tr></table>\n");
}
?>

<h2>Active users</h2>
<table width=100% border=1 cellspacing=0 cellpadding=10><tr><td class=text>
<?=$activeusers?>
</td></tr></table>


<? if ($CURUSER)
{
// Get current poll
$res = mysql_query("SELECT * FROM polls ORDER BY added DESC LIMIT 1") or sqlerr();
$arr = mysql_fetch_assoc($res);
$pollid = $arr["id"];
$userid = $CURUSER["id"];
$question = $arr["question"];
$o = array($arr["option0"], $arr["option1"], $arr["option2"], $arr["option3"], $arr["option4"],
$arr["option5"], $arr["option6"], $arr["option7"], $arr["option8"], $arr["option9"],
$arr["option10"], $arr["option11"], $arr["option12"], $arr["option13"], $arr["option14"],
$arr["option15"], $arr["option16"], $arr["option17"], $arr["option18"], $arr["option19"]);

// Check if user has already voted
$res = mysql_query("SELECT * FROM pollanswers WHERE pollid=$pollid && userid=$userid") or sqlerr();
$arr2 = mysql_fetch_assoc($res);

print("<h2>Poll");

if (get_user_class() >= UC_MODERATOR)
{
print("<font class=small>");
print(" - [<a class=altlink href=makepoll.php?returnto=main><b>New</b></a>]\n");
print(" - [<a class=altlink href=makepoll.php?action=edit&pollid=$arr[id]&returnto=main><b>Edit</b></a>]\n");
print(" - [<a class=altlink href=polls.php?action=delete&pollid=$arr[id]&returnto=main><b>Delete</b></a>]");
print("</font>");
}
print("</h2>\n");
print("<table width=100% border=1 cellspacing=0 cellpadding=10><tr><td align=center>\n");
print("<table class=main border=1 cellspacing=0 cellpadding=0><tr><td class=text>");
print("<p align=center><b>$question</b></p>\n");
$voted = $arr2;
if ($voted)
{
// display results
if ($arr["selection"])
$uservote = $arr["selection"];
else
$uservote = -1;
// we reserve 255 for blank vote.
$res = mysql_query("SELECT selection FROM pollanswers WHERE pollid=$pollid AND selection < 20") or sqlerr();

$tvotes = mysql_num_rows($res);

$vs = array(); // array of
$os = array();

// Count votes
while ($arr2 = mysql_fetch_row($res))
$vs[$arr2[0]] += 1;

reset($o);
for ($i = 0; $i < count($o); ++$i)
if ($o[$i])
$os[$i] = array($vs[$i], $o[$i]);

function srt($a,$b)
{
if ($a[0] > $b[0]) return -1;
if ($a[0] < $b[0]) return 1;
return 0;
}

// now os is an array like this: array(array(123, "Option 1"), array(45, "Option 2"))
if ($arr["sort"] == "yes")
usort($os, srt);

print("<table class=main width=100% border=0 cellspacing=0 cellpadding=0>\n");
$i = 0;
while ($a = $os[$i])
{
if ($i == $uservote)
$a[1] .= " *";
if ($tvotes == 0)
$p = 0;
else
$p = round($a[0] / $tvotes * 100);
if ($i % 2)
$c = "";
else
$c = " bgcolor=#ECE9D8";
print("<tr><td width=1% class=embedded$c><nobr>" . $a[1] . "  </nobr></td><td width=99% class=embedded$c>" .
"<img src=".$pic_base_url."bar_left.gif><img src=".$pic_base_url."bar.gif height=9 width=" . ($p * 3) .
"><img src=".$pic_base_url."bar_right.gif> $p%</td></tr>\n");
++$i;
}
print("</table>\n");
$tvotes = number_format($tvotes);
print("<p align=center>Votes: $tvotes</p>\n");
}
else
{
print("<form method=post action=index.php>\n");
$i = 0;
while ($a = $o[$i])
{
print("<input type=radio name=choice value=$i>$a<br>\n");
++$i;
}
print("<br>");
print("<input type=radio name=choice value=255>Blank vote (a.k.a. \"I just want to see the results!\")<br>\n");
print("<p align=center><input type=submit value='Vote!' class=btn></p>");
}
?>
</td></tr></table>
<?
if ($voted)
print("<p align=center><a href=/polls.php>Previous polls</a></p>\n");
?>
</td></tr></table>

<?
}
?>

<h2>Stats</h2>
<table width=100% border=1 cellspacing=0 cellpadding=10><tr><td align=center>
<table class=main border=1 cellspacing=0 cellpadding=5>
<tr><td class=rowhead>Registered users</td><td align=right><?=$registered?></td></tr>
<!-- <tr><td class=rowhead>Unconfirmed users</td><td align=right><?=$unverified?></td></tr> -->
<tr><td class=rowhead>Torrents</td><td align=right><?=$torrents?></td></tr>
<? if (isset($peers)) { ?>
<tr><td class=rowhead>Peers</td><td align=right><?=$peers?></td></tr>
<tr><td class=rowhead>Seeders</td><td align=right><?=$seeders?></td></tr>
<tr><td class=rowhead>Leechers</td><td align=right><?=$leechers?></td></tr>
<tr><td class=rowhead>Seeder/leecher ratio (%)</td><td align=right><?=$ratio?></td></tr>
<? } ?>
</table>
</td></tr></table>


<h2>Server load</h2>
<table width=100% border=1 cellspacing=0 cellpadding=10><tr><td align=center>
<table class=interiortable border=0 width=402><tr><td style='padding: 0px; background-repeat: repeat-x'>
<? $percent = min(100, round(exec('ps ax | grep -c apache') / 256 * 30 ));
echo "<br>Our Tracker Load: ($percent %)(these stats are an approximation)<table class=interiortable border=0 width=400><tr><td style='padding: 0px; background-image: url(pic/loadbarbg.gif); background-repeat: repeat-x'>";

if ($percent <= 70) $pic = "pic/loadbargreen.gif";
elseif ($percent <= 90) $pic = "pic/loadbaryellow.gif";
else $pic = "pic/loadbarred.gif";
$width = $percent * 8;
echo "<img height=15 width=$width src=\"/$pic\" alt='$percent%'></td></tr></table>";
echo "" . trim(exec('uptime')) . "<br>";


$percent = min(100, round(exec('ps ax | grep -c apache') / 256 * 150));
echo "<br>Global Server Load (All websites on current host servers): ($percent %)<table class=interiortable border=0 width=400><tr><td style='padding: 0px; background-image: url(pic/loadbarbg.gif); background-repeat: repeat-x'>";

if ($percent <= 70) $pic = "pic/loadbargreen.gif";
elseif ($percent <= 90) $pic = "pic/loadbaryellow.gif";
else $pic = "pic/loadbarred.gif";
$width = $percent * 8;
echo "<img height=15 width=$width src=\"$pic\" alt='$percent%'></td></tr></table>"; ?>


</td></tr></table>

<?
stdfoot();

hit_end();
?>

[ Voor 57% gewijzigd door Verwijderd op 07-10-2006 23:11 ]


  • Stamgastje
  • Registratie: April 2003
  • Laatst online: 02-02-2020
Denk je echt dat ik die hele lap code zelf ga doorspitten? Wat heb je zelf al geprobeerd? En welke foutmelding krijg je?!!!

Probeer minimaal de fout wat beter te lokaliseren en vraag dan - indien nodig - opnieuw om hulp.

  • mithras
  • Registratie: Maart 2003
  • Niet online
Uhm, je vraagt ons om jouw code te debuggen, terwijl dit niet eens jouw topic is, er geen [code][/code] tags om je code staat, er niet alleen een relevant deel van je code staat en je niet zegt wat er precies fout gaat?

Ik denk dat je het toch even anders moet brengen ;)

edit:
En welkom op GoT. Misschien nog even de Algemene gedragsregels (Netiquette) doorlezen anders?

[ Voor 16% gewijzigd door mithras op 08-10-2006 10:08 ]

Pagina: 1