请问Laravel5.3在Nginx1.8.1中只能显示首页,其它所有页面都显示403 Forbidden是啥原因?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了请问Laravel5.3在Nginx1.8.1中只能显示首页,其它所有页面都显示403 Forbidden是啥原因?相关的知识,希望对你有一定的参考价值。
在Laravel的路由文件web.php中Route::get('/', function ( ) // 显示结果页面Laravel首页在nginx下可正常显示 return view('welcome'); );Route::get('a', function ( ) // 结果页面在Nginx下提示错误403 Forbidden return 123456;);在Nginx的配置文件中 server listen 80; server_name localhost; root /www/web/default; index index.php index.html index.htm index.nginx-debian.html; location / try_files $uri $uri/ /index.php?$query_string; autoindex on; autoindex_exact_size on; autoindex_localtime on; location @rewrite rewrite ^/(.*)$ /index.php?_url=/$1; location ~ \\.php(.*)$ fastcgi_pass unix:/tmp/php-56-cgi.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $DOCUMENT_ROOT$fastcgi_script_name; fastcgi_param PATH_INFO $1; include fcgi.conf; try_files $uri $uri/ /index.php?$query_string; location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ expires 30d; location ~ .*\.(js|css)?$ expires 12h; 目录的权限也都给了777,但还是报403 Forbidden,在路径中,除了使用“/”斜线可以打开首页外,其它的在“/”斜线后添加的任何字符(任何路由),比如“/a”,全部报403 Forbidden,不知道问题出在哪里,请教各位帮忙看看,谢谢!
参考技术A serverlisten 80;
server_name xxx;
root /xxx/public;
index index.php index.html index.htm;
location /
add_header Access-Control-Allow-Origin *;
try_files $uri $uri/ /index.php?$args;
location ~ .*\\.(php|php5)?$
add_header Access-Control-Allow-Origin *;
#fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
fastcgi_pass 127.0.0.1:9000;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
location ~* ^.+\\.(gif|jpg|jpeg|png|ico|swf|flv)$
expires 30d;
你把xxx换成你自己的路径和域名,试试看
追问谢谢!改成bublic目录也不行啊?
在 laravel 的测试套件中只运行一个单元测试
【中文标题】在 laravel 的测试套件中只运行一个单元测试【英文标题】:Run only one unit test from a test suite in laravel 【发布时间】:2016-12-13 18:19:30 【问题描述】:使用phpunit
命令 Laravel 将运行我们项目中的所有单元测试。
如何在Laravel 5.1
中运行一个或特定的单元测试?
我只想从我的测试套件中运行testFindToken
。
<?php
use Mockery as m;
use App\Models\AccessToken;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class AccessTokenRepositoryTest extends TestCase
use WithoutMiddleware;
public function setUp()
parent::setUp();
$this->accessToken = factory(AccessToken::class);
$this->repo_AccessToken = app()->make('App\Repositories\AccessTokenRepository');
public function testFindToken()
$model = $this->accessToken->make();
$model->save();
$model_accessToken = $this->repo_AccessToken->findToken($model->id);
$this->assertInstanceOf(Illuminate\Database\Eloquent\Model::class, $model);
$this->assertNotNull(true, $model_accessToken);
【问题讨论】:
【参考方案1】:使用此命令从您的测试套件运行特定测试。
phpunit --filter TestMethodName
如果您想更具体地了解您的文件,请将文件路径作为第二个参数传递
phpunit --filter TestMethodName FilePath
例子:
phpunit --filter testExample path/to/filename.php
注意:
如果您有一个名为 testSave
的函数和另一个名为 testSaveAndDrop
的函数,并且您将 testSave
传递给 --filter
像这样
phpunit --filter testSave
它还将运行testSaveAndDrop
和任何其他以testSave*
开头的函数
它基本上是一个子字符串匹配。如果您想排除所有其他方法,请使用 $
end of string token 像这样
phpunit --filter '/testSave$/'
【讨论】:
太棒了!谢谢扎恩 :) 很好解释。但是对于 laravel,如果您的项目没有配置 phpunit 命令,您将不得不使用./vendor/bin/phpunit
。【参考方案2】:
您应该运行./vendor/bin/phpunit --help
以获取所有phpunit 选项。您可以使用下面的一些选项运行 phpunit 来运行特定的方法或类。
--filter <pattern> Filter which tests to run.
--testsuite <name,...> Filter which testsuite to run
【讨论】:
谢谢@Ken Pi,正是我要找的东西【参考方案3】:对于 windows 环境,这对我有用:
在控制台中:
vendor\bin\phpunit --filter login_return_200_if_credentials_are_fine tests/Unit/Http/Controllers/AuthControllerTest.php
在哪里
login_return_200_if_credentials_are_fine - 你的测试方法 tests/Unit/Http/Controllers/AuthControllerTest.php - 定义测试方法的路径
【讨论】:
【参考方案4】:php artisan test --filter UserTest
【讨论】:
以上是关于请问Laravel5.3在Nginx1.8.1中只能显示首页,其它所有页面都显示403 Forbidden是啥原因?的主要内容,如果未能解决你的问题,请参考以下文章