哪一个更适合跑laravel?

时间:2014-10-30 03:03:44

标签: php laravel

我在我的cpanel和localhost中安装了laravel,但是我发现了两种执行/运行laravel的方法。

  1. 访问
  2.   

    /公共/

    1. 使用
    2.   

      php artisan serve

      如果我在我的笔记本/ localhost中运行,我可以使用php artisan服务,它就像路由和数据库一样,但在我的cpanel我不能使用第二种方式,所以我必须使用第一种方式,但它做得不好像路由等。

      那么哪一个更好,如何让第一种方式运行良好?

1 个答案:

答案 0 :(得分:2)

通常,您会使用

php artisan serve

仅适用于您的开发环境。

在生产服务器上,您将添加< VirtualHost>或者Apache配置中的Alias drective。

<VirtualHost *:80>
    ServerAdmin admin@localhost
    DocumentRoot /path/to/your/laravel/public
    ServerName your.domain.com

    <Directory /path/to/your/laravel/public>
        AllowOverride None
        Order allow,deny
        Allow from All

        Options FollowSymLinks

        RewriteEngine On

        RewriteCond %{REQUEST_FILENAME} !-f
        RewriteCond %{REQUEST_FILENAME} !-d
        RewriteRule ^(.*)$ index.php/$1 [L]
    </Directory>
</VirtualHost>

使用此类配置,您可以访问Laravel网站:     http://your.domain.com/

使用Alias时,您的Apache配置将是这样的:

Alias /any/path/you/want /path/to/your/laravel/public
<Directory "/path/to/your/laravel/public">
    Order allow,deny
    Allow from All

    Options +FollowSymLinks

    RewriteEngine On
    RewriteBase /any/path/you/want

    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ index.php [L]
</Directory>

使用此配置,您将访问您的laravel:http://your.domain.com/any/path/you/want

在某些Web托管服务提供商上,您无权访问Apache配置, 在这种情况下,您必须将配置放在公共目录中的.htaccess文件中。 Laravel在公共目录中有一个默认的.htaccess文件,其中包含:

<IfModule mod_rewrite.c>
    <IfModule mod_negotiation.c>
        Options -MultiViews
    </IfModule>

    RewriteEngine On

    # Redirect Trailing Slashes...
    RewriteRule ^(.*)/$ /$1 [L,R=301]

    # Handle Front Controller...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ index.php [L]
</IfModule>

您必须检查您的托管是否允许.htaccess