📅  最后修改于: 2023-12-03 15:08:03.926000             🧑  作者: Mango
Laravel 是一款流行的 PHP Web 框架,它内置了一个命令行工具 Artisan,可用于快速创建和管理 Laravel 应用程序。其中一个常用的 Artisan 命令是 php artisan serve
,它会在本地开启一个 Web 服务器,然后运行 Laravel 应用程序。但是有些情况下,你可能不想使用 php artisan serve
命令。这篇文章将介绍如何在没有 php artisan serve
的情况下运行 Laravel。
PHP 有一个内置的 Web 服务器,你可以使用它来运行 Laravel 应用程序。通过以下命令可以启动 PHP 内置服务器:
php -S localhost:8000 -t public/
其中 -S
参数指定了要使用的 Web 服务器,localhost:8000
指定了服务器监听的地址和端口号,-t public/
指定了 Laravel 应用程序的根目录。如果你想要使用不同的端口号,可以将 8000
替换为其他端口号。如果你想要在外部访问该服务器,则将 localhost
替换为你的计算机 IP 地址。
如果你熟悉 Docker,也可以使用 Docker 来运行 Laravel 应用程序。以下是一个简单的 Dockerfile 示例:
FROM php:7.4-cli
WORKDIR /app
COPY composer.* ./
RUN curl -sS https://getcomposer.org/installer | php \
&& mv composer.phar /usr/local/bin/composer \
&& composer install --prefer-dist --no-dev --no-scripts --no-progress --no-suggest --optimize-autoloader
COPY . .
CMD php artisan serve --host=0.0.0.0 --port=8000
在上面的代码中,我们使用了官方 PHP 镜像,并在容器中安装了 Composer。然后,我们将 Laravel 应用程序复制到容器中,并运行 php artisan serve
命令来启动 Web 服务器。
如果你已经安装了 NGINX 或 Apache Web 服务器,并且想要在其中运行 Laravel 应用程序,可以使用以下方式。这里以 NGINX 为例:
在 NGINX 的配置文件中,添加一个新的虚拟主机:
server {
listen 80;
server_name example.com;
root /var/www/laravel/public;
index index.php;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
include fastcgi_params;
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
}
}
其中 server_name
和 root
分别指定了虚拟主机的域名和文档根目录。
在 Laravel 应用程序的根目录中,创建一个 .env
文件,并指定数据库和其他配置参数。例如:
APP_NAME=Laravel
APP_ENV=production
APP_KEY=base64:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
APP_DEBUG=false
APP_URL=http://example.com
...
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel
DB_USERNAME=laravel
DB_PASSWORD=yourpassword
在 Laravel 应用程序的根目录中,运行以下命令来生成应用程序密钥:
php artisan key:generate
配置 Laravel 应用程序的数据库。在 Laravel 应用程序的根目录中,运行以下命令来创建数据库表:
php artisan migrate --force
重启 NGINX Web 服务器:
sudo service nginx restart
访问 http://example.com
,你应该能够看到 Laravel 应用程序的欢迎页面了。
以上是在没有 php artisan serve
命令的情况下运行 Laravel 的一些方法。你可以根据自己的需要和熟练程度来选择适合自己的方式。