首頁 > 後端開發 > php教程 > ubuntu 使用 www-data 执行 composer update 失败

ubuntu 使用 www-data 执行 composer update 失败

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
發布: 2016-06-06 20:21:13
原創
1820 人瀏覽過

项目放在github,做了一个webhook, 自己的服务器检测来自github的post,如果master有变动,就执行

<code>cd /path;
git pull git@ooxxx.com</code>
登入後複製
登入後複製

上面拉取代码没有问题。

最后同时还检测master分支里的compoer.json有改动的时候就执行一次:

<code>php composer.phar update
php composer.phar dump-autoload -o</code>
登入後複製
登入後複製

由于来自github的post数据是用apache指定的www-data 执行 git pull(部署的public key也是这个用户)发现并不能执行上面的composer操作,我在服务器上手动操作 composer update 出现下面提示:

···
sudo -u www-data php composer.phar update
Cannot create cache directory /root/.composer/cache/repo/http---packagist.phpcomposer.com/, or directory is not writable. Proceeding without cache
Cannot create cache directory /root/.composer/cache/files/, or directory is not writable. Proceeding without cache
Loading composer repositories with package information
Updating dependencies (including require-dev)
Generating autoload files
···
同样,我尝试全局安装composer,用 php /usr/local/bin/composer update 也是同样的错误。

在GG上面搜索,尝试了把 /root/.composer 目录改成www-data且 777

<code>root@localhost:~# ls -la ~/.composer/cache
total 20
drwxrwxrwx 4 www-data www-data 4096 Dec 30 14:53 .
drwxrwxrwx 3 www-data www-data 4096 Dec 30 14:53 ..
drwxrwxrwx 2 www-data www-data 4096 Dec 30 14:53 files
-rwxrwxrwx 1 www-data www-data   13 Dec 30 14:53 .htaccess
drwxrwxrwx 3 www-data www-data 4096 Dec 30 14:53 repo</code>
登入後複製
登入後複製

除此之外 项目根目录的composer.phar和/usr/local/bin/composer 拥有者都设置成为了www-data ,问题依旧。

请教怎么解决。

ps:补充一下,用root 执行 composer update等操作没有任何问题。

回复内容:

项目放在github,做了一个webhook, 自己的服务器检测来自github的post,如果master有变动,就执行

<code>cd /path;
git pull git@ooxxx.com</code>
登入後複製
登入後複製

上面拉取代码没有问题。

最后同时还检测master分支里的compoer.json有改动的时候就执行一次:

<code>php composer.phar update
php composer.phar dump-autoload -o</code>
登入後複製
登入後複製

由于来自github的post数据是用apache指定的www-data 执行 git pull(部署的public key也是这个用户)发现并不能执行上面的composer操作,我在服务器上手动操作 composer update 出现下面提示:

···
sudo -u www-data php composer.phar update
Cannot create cache directory /root/.composer/cache/repo/http---packagist.phpcomposer.com/, or directory is not writable. Proceeding without cache
Cannot create cache directory /root/.composer/cache/files/, or directory is not writable. Proceeding without cache
Loading composer repositories with package information
Updating dependencies (including require-dev)
Generating autoload files
···
同样,我尝试全局安装composer,用 php /usr/local/bin/composer update 也是同样的错误。

在GG上面搜索,尝试了把 /root/.composer 目录改成www-data且 777

<code>root@localhost:~# ls -la ~/.composer/cache
total 20
drwxrwxrwx 4 www-data www-data 4096 Dec 30 14:53 .
drwxrwxrwx 3 www-data www-data 4096 Dec 30 14:53 ..
drwxrwxrwx 2 www-data www-data 4096 Dec 30 14:53 files
-rwxrwxrwx 1 www-data www-data   13 Dec 30 14:53 .htaccess
drwxrwxrwx 3 www-data www-data 4096 Dec 30 14:53 repo</code>
登入後複製
登入後複製

除此之外 项目根目录的composer.phar和/usr/local/bin/composer 拥有者都设置成为了www-data ,问题依旧。

请教怎么解决。

ps:补充一下,用root 执行 composer update等操作没有任何问题。

www-data 没有权限读写 /root 目录。

改下缓存目录。

https://getcomposer.org/doc/03-cli.md#composer-cache-dir

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
怎麼學好php
來自於 1970-01-01 08:00:00
0
0
0
PHP擴充intl
來自於 1970-01-01 08:00:00
0
0
0
php數據獲取?
來自於 1970-01-01 08:00:00
0
0
0
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板