我复制了一个工作的laravel应用程序,并将其重命名为另一个应用程序。我删除了供应商文件夹,并再次运行以下命令:

composer self-update

composer-update

npm install

bower install

我配置了我的路由和一切正确,但现在当我试图在浏览器中运行我的应用程序时,我得到以下错误:

php第36行:请提供一个 有效的缓存路径。 php第111行出现错误: 写入(F: \ www \ \ app \ \存储框架/会议/ edf262ee7a2084a923bb967b938f54cb19f6b37d): failed to open stream:没有这样的文件或目录

我以前从来没有遇到过这个问题,我不知道是什么原因导致的,也不知道如何解决它,我在网上搜索了一个解决方案,但到目前为止还没有找到。


当前回答

您可以编辑自述文件。Md提供了在其他环境中安装laravel应用程序的说明,就像这样:

## Create folders

```
#!terminal

cp .env.example .env && mkdir bootstrap/cache storage storage/framework && cd storage/framework && mkdir sessions views cache

```

## Folder permissions

```
#!terminal

sudo chown :www-data app storage bootstrap -R
sudo chmod 775 app storage bootstrap -R

```

## Install dependencies

```
#!terminal

composer install

```

其他回答

我通过在index.php中添加这一行来解决这个问题:

$app['config']['view.compiled'] = "storage/framework/cache";

我在生产服务器上复制一个项目后也遇到过类似的情况。Apache通过符号链接访问了公用文件夹。

对于Apache或PHP服务,到项目的路径没有改变,因此它们使用缓存的文件路径指向旧的项目存储库。

重新启动Apache和PHP服务解决了这个问题。

在我的情况下,配置缓存文件都在boostrap/cache中丢失…所以我的解决方案是PHP手工配置:在boostrap/cache中重新创建缓存文件。

步骤1:PHP工匠存储:链接

步骤2:在存储文件夹中创建这些文件夹

确保存储目录中有以下文件夹:

logs
framework
framework/cache 
framework/sessions 
framework/views

这对我很有效

确保存储目录中有以下文件夹:

日志 框架 框架/缓存 框架/缓存数据 框架/会议 框架/测试 框架/观点

下面是一个命令行片段

cd storage
mkdir logs
mkdir framework
mkdir framework/cache && framework/cache/data
mkdir framework/sessions
mkdir framework/testing
mkdir framework/views
chgrp -R www-data ../storage
chown -R www-data ../storage