php - Composer 在/var/www/html 中找不到composer.json 文件

标签 php json laravel ubuntu composer-php

我正在尝试在我的虚拟机 Ubuntu 15.10 中设置一个环境。我按照教程执行了以下步骤:

curl -sS https://getcomposer.org/installer | php
sudo mv ~/composer.phar /usr/local/bin/composer
composer global require "laravel/installer"

然后我这样做:

sudo nano ~/.profile

我将其添加到文件末尾:

PATH="$PATH:~/.composer/vendor/bin"

最后:

composer global update

完成这些步骤后,我尝试:

laravel new project

并收到此错误:

PHP Warning:  file_put_contents(/var/www/html/laravel_62a1f2f16d54929f3367e5f18f937a47.zip): failed to open stream: Permission denied in /home/alavaros/.composer/vendor/laravel/installer/src/NewCommand.php on line 114
PHP Warning:  ZipArchive::extractTo(): Permission denied in /home/alavaros/.composer/vendor/laravel/installer/src/NewCommand.php on line 132
PHP Warning:  ZipArchive::close(): Invalid or uninitialized Zip object in /home/alavaros/.composer/vendor/laravel/installer/src/NewCommand.php on line 134
Composer could not find a composer.json file in /var/www/html
To initialize a project, please create a composer.json file as described in the https://getcomposer.org/ "Getting Started" section

最佳答案

您似乎遇到了权限问题。

ls -l/var/www 的输出是什么? 您应该会看到您拥有公共(public)写入权限 (w),或者您位于列出的组中。

例如,您可能会看到

drwxr-xr-x  3 root root 4096 Jul  4  2015 .

这意味着您在不以root身份写入/var/www时会遇到问题。

只需运行 sudo laravel new project 可能会解决您当前的问题,但可能会导致您在需要工作时必须使用 sudo

更好的解决方案是授予您自己访问此目录的权限:

sudo chmod o+w /var/www/

运行此命令将授予此计算机上的所有(其他)用户(包括您)写入/var/www的访问权限

关于php - Composer 在/var/www/html 中找不到composer.json 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34709720/

相关文章:

php - Composer 需要 ext-redis

javascript - 从 http 处理程序返回的 JSON 在 IE8 中为 null,但在 IE10 或 Chrome 中则不然

java - 解析 JSON 并转换为对象列表

Laravel 5.1 - 重定向回基本 url

php - Laravel (5.1) 查询构建器没有正确地将绑定(bind)添加到原始选择语句

Laravel 将十进制视为字符串

php - 在 html 目录中或之上管理 bash 脚本安全性

php - 过滤结果有很多关系

php - 数组到 CSV 导出功能在 WordPress 插件中面临问题

php - 从 php 到 iOS 应用程序的 json 响应不完整