Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/268.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Laravel php artisan用于模拟HTTPS_Php_Ssl_Laravel_Https_Laravel Artisan - Fatal编程技术网

Laravel php artisan用于模拟HTTPS

Laravel php artisan用于模拟HTTPS,php,ssl,laravel,https,laravel-artisan,Php,Ssl,Laravel,Https,Laravel Artisan,我一直在四处搜索,看看是否有一种方法可以让我在本地开发中模拟SSL,使用Laravel的artisan来提供HTTPS,但运气不好 这可能吗?如果可能,如何实现 我知道这是一个非常普遍的问题,但我在搜索中没有看到任何相关内容。Laravel使用内置的PHP5.4开发服务器php-S()作为其artisan serve命令(请参见Illumb\Foundation\Console\ServeCommand)。这只支持普通HTTP,所以不,这是不可能的。您最好的选择是使用设置为与SSL/TLS一起工

我一直在四处搜索,看看是否有一种方法可以让我在本地开发中模拟SSL,使用Laravel的artisan来提供HTTPS,但运气不好

这可能吗?如果可能,如何实现


我知道这是一个非常普遍的问题,但我在搜索中没有看到任何相关内容。

Laravel使用内置的PHP5.4开发服务器
php-S
()作为其
artisan serve
命令(请参见
Illumb\Foundation\Console\ServeCommand
)。这只支持普通HTTP,所以不,这是不可能的。您最好的选择是使用设置为与SSL/TLS一起工作的流浪者箱。

您可以使用
ngrok

php artisan serve
cd <path-to-ngrok>
./ngrok http localhost:8000
php工匠服务
光盘
./ngrok http localhost:8000

如果您使用的是xampp,那么您可以(对设置HTTPS也很有用),然后您可以:

  • 将项目移动到
    htdocs
    文件夹,并使用
    https://localhost/projectFolder/public/

  • 或者只需在
    httpd vhosts.conf
    中为此项目创建一个特殊的
    VirtualHost
    (始终指向该
    public
    文件夹,这是项目运行的地方),然后使用
    https://localhost/
    在本例中(当然,如果愿意,您可以在子域上运行它)

    
    服务器名本地主机
    DocumentRoot“c:\pathToYourProject\projectFolder\public”
    选项全部
    允许超越所有
    #这应该确保https(这在stackoverflow文章中提到过,我链接了它)是有用的
    服务器名本地主机
    DocumentRoot“c:\pathToYourProject\projectFolder\public”
    斯伦金安
    SSLCertificateFile“conf\ssl.crt\server.crt”
    SSLCertificateKeyFile“conf\ssl.key\server.key”
    选项全部
    允许超越所有
    

  • 理论上,当您使用此方法时,您甚至不需要
    php artisan Service
    (tbh我不完全确定它在这种情况下是否有任何用途).

    如果您可能是Mac用户,则
    代客服务可能会帮助您明确提出关于artisan Serve的问题。这并不能回答问题。它有助于通过ngrok从本地网络外部连接到本地运行的web服务器,但仅限于HTTP,而不是HTTPS。
    
    <VirtualHost *:80>
        ServerName localhost
        DocumentRoot "c:\pathToYourProject\projectFolder\public"
        <Directory "c:\pathToYourProject\projectFolder\public">
            Options All
            AllowOverride All
        </Directory>
    </VirtualHost>
    
    # this should ensure https (this is mentioned in the stackoverflow post, that I linked as useful
    <VirtualHost *:443>
        ServerName localhost
        DocumentRoot "c:\pathToYourProject\projectFolder\public"
        SSLEngine on
        SSLCertificateFile "conf\ssl.crt\server.crt"
        SSLCertificateKeyFile "conf\ssl.key\server.key"
        <Directory "c:\pathToYourProject\projectFolder\public">
            Options All
            AllowOverride All
        </Directory>
    </VirtualHost>