2017-12-26 16 views
1

PHP에서 .txt 파일에 액세스하는 것을 기반으로하는 사용자 계정 로그인 시스템이있는 웹 사이트를 만들고 있습니다. 나는 원래 무료 웹 호스팅 서비스에서 코드의 많은 부분을 테스트하고 사용자 계정 로그인 시스템 기능을 갖췄다.하지만 내 개인용 아파치 웹 서버로 이동하려고 시도했을 때, 내 PHP 코드의 일부 기능이 길을 잃어 버렸고 이유가 확실하지 않습니다. 특히, $ passfile 변수에 값을 반환하지 않는 splfileobject() 함수로 범위를 좁혔습니다. 이 작업을 수행하는 데 필요한 일부 PHP 라이브러리가 누락 되었습니까? 필자가 보았을 때, php7.0은 표준 PHP 라이브러리의 일부로 splfileobject()와 다른 연결된 함수를 가졌다 고 말했습니다.splfileobject가 우분투에서 작동하지 않습니다. 16.04 apache webserver with php7.0

여기 내 코드이 잘 작동 같은 파일을 여는 몇 가지 이유를 들어

<?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."; 
} 

?> 

의 일부입니다.

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

는 그러나, 나는 계산 시간을 줄이기 위해 사용자 이름 파일에 있습니다 병렬 데이터 파일 암호의 특정 지점에 검색 할 수있는 그렇게 할 splfileobject을 사용했다.

감사합니다

답변

0

나는 분명히 필요한 웹 서버는 읽기가 .txt 파일에 쓸 수있는 권한을 부여하는 문제를 해결했습니다. 나는 이것에 관해 어떠한 오류도받지 못했다. 나는 리눅스 터미널에 다음 명령을 사용하여 권한을 부여 할 수 있었다. Heres는 ubuntuforums.org I가 그것을 발견 스레드에서 beno1990에

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

많은 감사, https://ubuntuforums.org/showthread.php?t=1089334