生产服务器上的 Laravel 9 错误"Vite manifest not found"



我正在将Laravel 9项目部署到共享主机(无法将ssh部署到服务器中,因此我无法在服务器中npm运行build),我收到了以下错误:

在以下位置未找到Vite清单:laravel_project/public/build/manifest.json

我正在使用FileZilla将项目上传到CPanel,我将public文件夹上传到public_html并配置index.php文件。

在上传项目之前,我在localhost上本地运行npm运行build,一切正常。

有人能解决这个问题吗?

我尝试更改APP_ENV=生产,但没有成功。

所以我找到了一个解决方案:

  1. 将我的所有本地laravel文件和文件夹,包括公共文件夹(当然,在本地运行composer installnpm run build之后)放在服务器的public_html目录中

  2. 现在,在public_html目录中的服务器内,将public文件夹的两个文件.htaccessindex.php向上移动一级,以便index.php文件和.htaccess文件直接位于ublic_html目录内(这样,您就不必在url中包含/public,而是在访问网站时直接访问应用程序)

  3. 配置您刚刚从public移动到public_htmlindex.php的内容,使其链接正确指向public _htmlTR内的应用程序内容

例如:

__DIR__.'/../storage/framework/maintenance.php'

成为

__DIR__.'/storage/framework/maintenance.php'

因此/。。已删除

其他链接也像:

__DIR__.'/../vendor/autoload.php'

成为

__DIR__.'/vendor/autoload.php'

__DIR__.'/../bootstrap/app.php'

成为

__DIR__.'/bootstrap/app.php'

我遇到了完全相同的问题。帮助我的是,我不仅向public_html添加了公共内容,而且还向生产服务器添加了具有相同内容的公共文件夹。因此,它在public_html和public中有重复的文件,但我认为这是一个比将整个项目添加到public_html文件夹更好的解决方案。不过,我想为这个问题找到一个更好的解决方案。

我通过在;public_html";文件夹和";"公共";文件夹,通过SSH使用以下命令:;ln-s/path/to/folder/public_html/path/to_folder/public";。这样,我的两个文件夹总是指向相同的资源。

最新更新