从版本控制器 GIT 和自动发布代码的角度彻底解决 Llaravel 中出现的 Please provide a valid cache path. 问题

yufei       3 年, 9 月 前       812

从版本控制器 GIT 和自动发布代码的角度彻底解决 Llaravel 中出现的 Please provide a valid cache path. 问题。

  1. 现在大家用的基本都是 .git 代码服务器吧,一般情况下我们都会在跟目录下的 .gitignore 里设定

    /storage/*
    

    这样也是可以的,但是呢,到生产线服务器的时候往往可能会出现下面的问题

    Please provide a valid cache path.
    

    所以最好的设定是根目录的 .gitignore 里什么都不设定,而是直接设定在各个目录

    mkdir storage/debugbar  storage/framework  storage/logs
    echo "*" >> storage/debugbar/.gitignore
    echo "*" >> storage/logs/.gitignore
    mkdir storage/framework/caches  storage/framework/sessions  storage/framework/views
    echo "*" >> storage/framework/caches/.gitignore
    echo "*" >> storage/framework/sessions/.gitignore
    echo "*" >> storage/framework/views/.gitignore
    

    这样就大功告成了。

  2. 部署方面,不管你用的是自动部署还是用的 FTP 传文件,一定要将接收文件的服务器,也就是生产线或者正式线服务器设置为和 Apache 或者 Nginx 或 PHP-FPM 的用户是同一个用户,一般是 www

    • 对于大部分 Nginx 只要看这个下面这样就足够了。 输入 ps aux | grep nginx 结果可能如下
      www      18249  0.0  1.0 134444 39980 ?        S    00:15   0:00 nginx: worker process
      www      18250  0.0  0.9 134444 37780 ?        S    00:15   0:00 nginx: worker process
      root     22018  0.0  0.0  12320  1080 pts/0    S+   07:48   0:00 grep --color=auto nginx
      root     29900  0.0  0.3  74256 12552 ?        Ss   6月29   0:00 nginx: master process /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
      

    看到那个 nginx:worker 最前面的那个 www,那个就是用户

  3. 对于 PHP-FPM 则是继续输入 ps aux | grep php-fpm 就好了

        root     22347  0.0  0.0  12320   988 pts/0    R+   07:52   0:00 grep --color=auto php-fpm
        root     30108  0.0  0.5 186452 20496 ?        Ss   6月29   0:27 php-fpm: master process (/usr/local/php/etc/php-fpm.conf)
        www      30110  0.0  0.7 219132 29288 ?        S    6月29   0:03 php-fpm: pool www
        www      30111  0.0  0.7 219360 29376 ?        S    6月29   0:03 php-fpm: pool www
        www      30112  0.0  0.6 219584 25484 ?        S    6月29   0:03 php-fpm: pool www
        www      30113  0.0  0.6 214952 25172 ?        S    6月29   0:03 php-fpm: pool www
    

    同样的,我们也是看 php-fpm: pool www 这个这种前面的 www 就可以了

    通过上面的查询,我们知道了服务器端使用的是 www 用户

    当第一次拉代码后,我们执行完 git pull 之后,

    只需要对服务器上的根目录执行以下操作即可

        chown  -R www:www storage
    
目前尚无回复
简单教程 = 简单教程,简单编程
简单教程 是一个关于技术和学习的地方
现在注册
已注册用户请 登入
关于   |   FAQ   |   我们的愿景   |   广告投放   |  博客

  简单教程,简单编程 - IT 入门首选站

Copyright © 2013-2022 简单教程 twle.cn All Rights Reserved.