2017-12-26 5 views
1

Ich habe eine Website, die ein Benutzerkonto-Loggins-System, das auf den Zugriff. TXT-Dateien in PHP basiert gemacht hat. Ich habe ursprünglich einen großen Teil des Codes auf einem kostenlosen Webhosting-Dienst getestet und das Benutzerkonto-Logginsystem funktionsfähig gemacht, aber als ich versuchte, es auf meinen eigenen persönlichen Apache-Webserver zu verschieben, scheint die Funktionalität einiger meiner PHP-Codes zu sein wurden verloren und ich bin mir nicht sicher warum. Insbesondere habe ich es auf die Funktion splfileobject() eingeschränkt, die keinen Wert für die Variable $ passfile zurückgibt. Fehle ich eine PHP-Bibliothek, die dafür notwendig ist? Als ich es sah, sagte es, dass php7.0 splfileobject() und seine anderen verbundenen Funktionen als Teil der Standard-PHP-Bibliothek hatte.splfileobject funktioniert nicht auf Ubuntu 16.04 Apache Webserver mit PHP7.0

Hier einige meiner Code

<?php 
$username = $_POST["username"]; 
$password = $_POST["password"]; 

$account = file('usernames.txt'); 
$accountfix = str_replace("\n", "", $account); 
$filepoint = array_search($username, $accountfix); 

if ($filepoint !== false) { 

    $passfile = new SplFileObject('passwords.txt', 'r+'); 

    $passfile->seek($filepoint); 

    $potentialpass = str_replace("\n", "", $passfile); 

// check password 
if ($password === $potentialpass) { 
$_SESSION["username"] = $username; 
$_SESSION["password"] = $password; 
$_SESSION["loggedin"] = true; 
$_SESSION["filepoint"] = $filepoint; 
print "Logged in succesfully!"; 
} 
else{ 
    print "Incorrect Password"; 
} 
} 
else { 
print "Incorrect Username."; 
} 

?> 

Aus irgendeinem Grund das Öffnen einer Datei wie das funktioniert gut.

$account = file('textfiles/usernames.txt'); 

Allerdings mag ich in einem Passwort zu einem bestimmten Punkt suchen kann, die parallelen Daten an die Benutzerdatei auf Rechenzeit zu verkürzen Datei und hatte splfileobject zu verwenden, dies zu tun.

Thankyou

Antwort

0

ich das Problem behoben, scheinbar Der Web-Server benötigt die Erlaubnis gegeben zu lesen und auf TXT-Dateien zu schreiben. Ich habe diesbezüglich nie Fehler bekommen. Ich konnte es mit den folgenden Befehlen in das Linux-Terminal geben.

sudo chown -R www-data /var/www 
sudo chmod -R u=rwx /var/www 

Vielen Dank an beno1990 bei ubuntuforums.org Heres den Faden ich es auf gefunden, https://ubuntuforums.org/showthread.php?t=1089334