上传到Heroku时如何访问Laravel符号链接

时间:2018-06-14 04:45:23

标签: php laravel heroku

我正在制作一个laravel webapp,而我正试图访问存储符号链接/storage/images/face-ph.png中的图片。

当我在本地这样做时它会起作用:

<img src="/storage/images/face-ph.png>

然而,当我将它上传到Heroku时,它无法找到路径。

2 个答案:

答案 0 :(得分:2)

如果您使用Heroku进行部署,可以尝试

heroku run bash
php artisan storage:link

OR

heroku run /app/php/bin/php /app/www/artisan storage:link

您可以使用绝对路径或相对路径来运行二进制文件

希望这有帮助

答案 1 :(得分:0)

阿德南的答案有两个问题;

  • 如果您使用heroku run bash执行命令,则仅在一次性测功机中执行。因此,这不会影响动态测功。
  • php artisan storage:link命令生成带有绝对路径的符号链接。因此,当您在构建过程中运行它时,它将映射临时构建目录的绝对路径,而不是dyno上最终应用程序的目录。

我使用了一个简单的相对符号链接来链接两个目录并将其添加到您的git存储库中:

cd public/ && ln -s ../storage/app/public storage && cd ..