thinkphp5.1配置解决根目录访问变下载

博客记录了PHP、Nginx和Composer的安装过程,将ThinkPHP5.1拷贝到指定目录后,配置Nginx相关信息无法直接访问,访问链接变成下载。增加PHP部分配置并修改index后,最终实现成功访问。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、安装php、nginx、composer完成;

2、thinkphp5.1拷贝到/usr/local/htdocs/movie/目录,配置nginx.conf的根目录、root和server_name后无法

直接访问配置信息如下:

server {
        listen       80;
        server_name  movie.test.com;
        root /usr/local/htdocs/movie/tp5/public;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;
        access_log  /var/log/nginx/access.log  main;

        location / {
                root /usr/local/htdocs/movie/tp5/public;
                index index.html index.htm;
        }

        #error_page  404              /404.html;

        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }

http://movie.test.com访问变成下载。

增加php部分配置,修改index后配置如下:

    server {
        listen       80;
        server_name  movie.qbk.com;
        root /usr/local/htdocs/movie/tp5/public;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;
        access_log  /var/log/nginx/access.log  main;

        location / {
                root /usr/local/htdocs/movie/tp5/public;
                index index.php index.html index.htm;
        }

        #error_page  404              /404.html;

        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        location ~ \.php(.*)$ {
           fastcgi_pass   127.0.0.1:9000;
           fastcgi_index  index.php;
           #下面两句是给fastcgi权限,可以支持 ?s=/module/controller/action的url访问模式
           fastcgi_split_path_info  ^((?U).+\.php)(/?.+)$;
           fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
           #下面两句才能真正支持 index.php/index/index/index的pathinfo模式
           fastcgi_param  PATH_INFO  $fastcgi_path_info;
           fastcgi_param  PATH_TRANSLATED  $document_root$fastcgi_path_info;
           include        fastcgi_params;
        }

        # deny access to .htaccess files, if Apache's document root
        # concurs with nginx's one
        #
        #location ~ /\.ht {
        #    deny  all;
        #}
    }

成功访问。

 

 

 

 

 

### ThinkPHP 5.1 默认目录结构及作用 ThinkPHP 5.1 是一款流行的 PHP 开发框架,其默认目录结构设计合理,便于开发者快速构建和维护应用程序。以下是 ThinkPHP 5.1 的主要目录及其功能说明: #### 1. **application** `application` 目录是应用的核心目录,用于存放业务逻辑代码[^4]。 - `common.php`: 存放全局函数定义。 - `config.php`: 应用级别的配置文件。 - `database.php`: 数据库连接配置。 - `route.php`: 路由规则定义。 - 模块子目录:每个模块都有独立的控制器、模型和视图文件夹。 #### 2. **public** `public` 目录作为网站的入口目录,通常放置静态资源文件(如 CSS、JS 和图片),并包含入口脚本 `index.php`[^5]。它是唯一对外公开访问的目录,其他目录均应设置为不可直接访问以提高安全性。 #### 3. **runtime** `runtime` 目录存储运行时生成的数据,例如缓存文件、日志记录等。该目录下的内容可以根据需要定期清理或备份。 - `cache/`: 缓存文件存放路径。 - `log/`: 日志文件保存位置。 - `temp/`: 临时文件存储区域。 #### 4. **vendor** `vendor` 目录由 Composer 自动管理,用于存放第三方依赖包[^3]。它位于项目根目录下,默认情况下不需要手动修改。 #### 5. **extend** `extend` 目录用来扩展核心类库的功能,适合开发人员自定义一些公共方法或工具类[^1]。 #### 6. **thinkphp** `thinkphp` 目录包含了框架的核心代码,一般无需对其进行修改,除非有特殊需求调整底层实现[^2]。 --- ### 配置优化与性能提升 为了进一步优化性能,可以通过命令行生成配置缓存文件来减少每次请求时对配置文件的解析开销: ```bash php think optimize:config ``` 上述操作会将应用级配置写入至 `runtime/init.php` 文件中;针对特定模块,则可指定参数完成相同目的: ```bash php think optimize:config --module=index ``` --- ### URL重写与安全增强 为了让 URLs 更加简洁友好,可以在服务器环境支持的情况下启用 `.htaccess` 文件来进行伪静态处理。具体做法是在站点根目录新增或编辑现有 `.htaccess` 文档,并加入相应规则覆盖默认行为。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值