Laravel 5中公共资产的LOCAL路径是什么? (使用server.php)

时间:2015-09-22 11:05:32

标签: php laravel localhost

我第一次使用Laravel,并且遇到了我的localhost服务器的问题。

部署网站后,我可以在以下地址查看我上传的图片:

  

www.mysite.com/storage/img/1.jpg

mysite.com设置为Laravels公用文件夹。访问mysite.com网址会显示laravel欢迎页面。

现在使用localhost,它使用以下命令运行,从而运行Laravels服务器脚本:

  

php -S localhost:4000 server.php

访问localhost:4000 url会显示laravel欢迎页面。使用我的命名路由附加此URL会按预期运行Laravel路由。但我无法访问我在任何地址提到的.jpg!即使在laravel视图中引用。

  

http://localhost:4000/storage/img/1.jpg

^返回404未找到的页面

  

http://localhost:4000/public/storage/img/1.jpg

^再次返回laravel欢迎页面!

在使用server.php脚本设置本地环境时,如何引用资产或实际上公共文件夹中的任何内容?这些路径在视图中不起绝对或相对的作用。提前致谢!

我的(未经编辑的)server.php脚本如下所示:)

 <?php

/**
 * Laravel - A PHP Framework For Web Artisans
 *
 * @package  Laravel
 * @author   Taylor Otwell <taylorotwell@gmail.com>
 */

$uri = urldecode(
    parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH)
); 

if ($uri !== '/' && file_exists(__DIR__.'/public'.$uri)) {
    return false;
}

require_once __DIR__.'/public/index.php';

2 个答案:

答案 0 :(得分:1)

你做错了,因为在Laravel 5中,刀片的存储位于资源中,你会在里面找到images文件夹中的assets文件夹。我建议你使用这个结构。 另外请不要使用php -S作为服务器,而是使用mamp,wamp或xampp等环境作为服务器。您将拥有权限问题和所有权问题。希望它有所帮助。

答案 1 :(得分:0)

来自http://laravel.com/docs/master/structure

  

存储目录包含已编译的Blade模板,基于文件   会话,文件缓存和框架生成的其他文件

也许您的{app} / storage文件夹与您的{app} / public / storage文件夹存在某种冲突?考虑使用另一个名称&#34;存储&#34;上传文件?