我在使用nginx的服务器上有一组用于开发的应用程序,除了一个网站上写着“没有指定输入文件”时,每当我从index.php加载它时它都会工作(它到达位于登录页面的位置)在app / login.php。没有动态生成的网页。
nginx.conf
server {
listen 80;
server_name farmacia.app;
root /vagrant/farmacia/elmuertosano/;
location / {
index index.php;
try_files $uri $uri/ =404;
}
location ~ \.php$ {
fastcgi_split_path_info ^(.\+.php)(/.+)$;
fastcgi_pass unix:/var/run/php/php7.1-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
}
}
的index.php
<?php
session_start();
if(!isset($_SESSION['usuario']) |! $_SESSION['usuario']){
header('Status: 301 Moved Permanently', false, 301);
header('Location:/elmuertosano/app/login.php');
exit();
} else {
header('Status: 301 Moved Permanently', false, 301);
header('Location:/elmuertosano/app/inicio.php');
exit();
}
?>
应用程序/ login.php中
<?php
require_once '../libsigma/Sigma.php';
$plantilla = &new HTML_Template_Sigma('../plantilla/');
$plantilla -> loadTemplateFile('inicio.tlp.html');
$titulo_pagina = 'Iniciar Sesión';
$contenido1 = '<p><img src="../plantilla/img/logo-farmacia1.gif" alt="farmacia"></p>
<fieldset>
<legend>
Iniciar Sesión
</legend>
<form method="post" class="pure-form pure-form-stacked" action="../operadores/autentificar.php">
<label for="correo">Correo</label><input type="text" name="authcorreo" id="authcorreo">
<label for="contraseña">Contraseña</label><input type="password" name="authpassword" id="authpassword">
<input type="submit" value="Ingresar">
</fieldset>
</form>
<br/>
';
$plantilla -> setVariable('titulo_pagina', $titulo_pagina);
$plantilla -> setVariable('contenido1', $contenido1);
$plantilla -> parse();
$plantilla -> show();
?>
编辑:我使用过php服务器,它会抛出“TOO MANY REDiRECTS”错误。会议问题或许可能?我已经给了会话文件夹777权限。
编辑:我注意到这个问题可能与我正在使用的流浪机Homestead有关。它遇到了会话管理问题。即使调整它的php.ini似乎也不行。在XAMPP上它可以工作。如果有人知道如何解决Homestead上的会话问题,我会留下这个问题。 This无效。