【问题标题】:which one is better to run laravel?哪个更好运行laravel?
【发布时间】:2014-10-30 03:03:43
【问题描述】:

我已经在我的 cpanel 和 localhost 中安装了 laravel,但我找到了两种执行/运行 laravel 的方法。

  1. 访问

/公共/

  1. 使用

php 工匠服务

如果我在我的笔记本/本地主机中运行,我可以使用 php artisan serve 并且它像路由和数据库一样做得很好,但是在我的 cpanel 中我不能使用第二种方式,所以我必须使用第一种方式,但它做得不好路由等。

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

【问题讨论】:

    标签: php laravel


    【解决方案1】:

    通常,您会使用

    php artisan serve
    

    仅在您的开发环境中。

    在生产服务器上,您将在 Apache 配置中添加 或 Alias 指令。

    <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/

    使用别名时,您的 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

    在某些网络托管服务提供商上,您无权访问 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

    【讨论】:

    • 我在主机中使用 cpanel,那该怎么做呢?
    • 不确定您的 cpanel 是否提供对 Apache 配置的访问。如果没有,恐怕您将不得不使用 .htaccess 文件。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-08-12
    • 2019-09-15
    • 2015-01-12
    • 2023-02-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多