gpt4 book ai didi

php - splfileobject 无法在带有 php7.0 的 ubuntu 16.04 apache 网络服务器上工作

转载 作者:太空宇宙 更新时间:2023-11-03 17:07:38 27 4
gpt4 key购买 nike

我一直在制作一个网站,该网站具有基于访问 .txt 文件的 php 用户帐户登录系统。我最初在一个免费的网络托管服务上测试了大部分代码并使用户帐户登录系统正常运行,但是当我试图将它移到我自己的个人 apache 网络服务器上时,我的一些 php 代码的功能似乎已经丢失了,我不确定为什么。具体来说,我已将其缩小到 splfileobject() 函数不返回变量 $passfile 的值。我是否缺少执行此操作所必需的一些 php 库?当我查看它时,它说 php7.0 有 splfileobject() 和它的其他连接函数,作为标准 php 库的一部分。

这是我的一些代码

<?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 来执行此操作。

谢谢

最佳答案

我解决了这个问题,显然 Web 服务器需要获得读取和写入 .txt 文件的权限。我从未收到任何关于此的错误。我能够在 linux 终端中使用以下命令授予它执行此操作的权限。

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

非常感谢 ubuntuforums.org 上的 beno1990这是我找到它的线程, https://ubuntuforums.org/showthread.php?t=1089334

关于php - splfileobject 无法在带有 php7.0 的 ubuntu 16.04 apache 网络服务器上工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47974014/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com