PHP7与pam_auth()未定义函数

时间:2018-03-06 08:29:13

标签: php pam

我正在研究基于PHP的Linux服务器Login-Formular。要求是每个用户只能使用他的Unix帐户登录。我已经阅读过关于PAM模块的内容,但我无法让它运行。

在ubuntu16.04上使用lighttpd作为网络服务器。错误日志为我提供了:

2018-03-06 09:17:19: (mod_fastcgi.c.2695) FastCGI-stderr: PHP message: PHP Fatal error:  Uncaught Error: Call to undefined function pam_auth() in /var/www/html/example2/login.php:36
2018-03-06 09:17:19: (mod_fastcgi.c.2695) FastCGI-stderr: Stack trace:
2018-03-06 09:17:19: (mod_fastcgi.c.2695) FastCGI-stderr: #0 {main}
2018-03-06 09:17:19: (mod_fastcgi.c.2695) FastCGI-stderr:   thrown in /xxx/xxx/xxx/xxxx/login.php on line 36

login.php minimal view

<?php
    if(isset($_POST['submit'])) {
        $username = $_POST['username']; $password = $_POST['password'];
        if(pam_auth($username, $password)) {
            $_SESSION['login'] = true; header('LOCATION:overview.php'); die();
        } else {
            $errorMsg = "Username or Password is incorrect.";
        }
    }
?>

我添加到/etc/php/7.0/fpm/php.ini中:

pam.servicename = "php";

并创建:/etc/pam.d/php

auth    sufficient  /lib/security/pam_pwdb.so shadow nodelay
account sufficient  /lib/security/pam_pwdb.so

我是否需要在login.php中加入一些内容?或者我还缺少什么呢?我不允许使用其他系统,如LDAP,DB等

由于

0 个答案:

没有答案