当前位置: 首页 > 知识库问答 >
问题:

nginx中没有自动加载PHP文件

仲孙鸿飞
2023-03-14

当我试图访问我的站点时,我必须在URL的末尾手动键入index.php。我正在尝试在访问站点时自动加载我的index.php文件。我的nginx配置文件如下所示。

server {
        listen 80;


        root /var/www/html/myapp/public;

        # Add index.php to the list if you are using PHP

        server_name _;

        add_header X-Frame-Options "SAMEORIGIN";
        add_header X-XSS-Protection "1; mode=block";
        add_header X-Content-Type-Options "nosniff";

        charset utf-8;

        location / {
            index index.html index.htm index.php;
#            try_files $uri $uri/ /index.php?$query_string;
            try_files $uri $uri/ = 404;
        }

        location = /favicon.ico { access_log off; log_not_found off; }
        location = /robots.txt  { access_log off; log_not_found off; }

        error_page 404 /index.php;


        location ~ \.php$ {
                fastcgi_pass unix:/var/run/php/php8.0-fpm.sock;
                fastcgi_index index.php;
                fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
                include fastcgi_params;
        }

        location ~ /\.(?!well-known).* {
                deny all;
        }
}

共有1个答案

臧弘和
2023-03-14

对于laravel应用程序,您需要在nginx conf中包含以下内容

index index.php index.html index.htm;

location / {
    try_files $uri $uri/ /index.php?$query_string;
}

    location ~ \.php$ {
        include /etc/nginx/fastcgi_params;
        fastcgi_index /index.php;
        fastcgi_pass unix:/var/run/php/php8.0-fpm.sock;
        fastcgi_split_path_info       ^(.+\.php)(/.+)$;
        fastcgi_param PATH_INFO       $fastcgi_path_info;
        fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }
 类似资料:
  • 这篇文章是对 PHP自动加载功能 的一个总结,内容涉及 PHP自动加载功能 、PHP命名空间、PSR0/PSR4标准 等内容。 一、PHP 自动加载功能 PHP 自动加载功能的由来 在 PHP 开发过程中,如果希望从外部引入一个 Class ,通常会使用 include 和 require 方法,去把定义这个 Class 的文件包含进来。这个在小规模开发的时候,没什么大问题。但在大型的开发项目中,

  • 本文向大家介绍详解PHP文件的自动加载(autoloading),包括了详解PHP文件的自动加载(autoloading)的使用技巧和注意事项,需要的朋友参考一下 传统上,在PHP里,当我们要用到一个class文件的时候,我们都得在文档头部require或者include一下: 但是一旦要调用的文档多了,就得每次都写一行,瞅着也不美观,有什么办法能让PHP文档自动加载呢? 对,可以使用PHP的魔法

  • 我刚刚开始使用composer进行依赖关系管理,我很难弄清楚我是如何不遵守psr-4进行自动加载的,所以我来这里寻求建议。我有一个生成随机值的类,它已经在packagist上了。项目结构如下(我已将composer.json文件标记为A和B): 项目总监 composer.jsonA composer.jsonB 最后是RlandValue.php文件,它声明了ejFrancis命名空间 当我运行

  • 展示了如何调试问题,即PHP模块没有加载到PHP中。 我使用OpenSUSEV42。2个Linux操作系统,带有Apache Web服务器,PHP v7。1、Mysql。 因为它不提供PHPV7。1我需要,我构建了PHPV7。1来源。使用PHP-FPM。 我把它安装到 php.ini在: 我发现,opcache安装到 我编辑了php。ini并添加了以下行: 重新启动: 但我还是得到了以下结果: [

  • 本文向大家介绍nginx 重新加载NGINX配置文件,包括了nginx 重新加载NGINX配置文件的使用技巧和注意事项,需要的朋友参考一下 示例 以root用户身份: Ubuntu 14.04示例 Ubuntu 16.04示例 重新加载之前,最好检查config是否存在语法错误: 要么            

  • 我在使用Composer设置类自动加载方面遇到了很多麻烦,在这一点上,我已经阅读并观看了数以百万计的参考资料 一些快速版本信息: PHP-v5。6.17 项目布局比较简单: “composer.json”当前包含以下内容: 每当我更改目录结构、重命名类或修改“composer.json”时,我都会运行: 我的目标是从“框架”中的“类”、“配置”和“模型”文件夹中自动加载所有类;“index.php