我在这里挖掘了其他几个答案,似乎没有什么比这更合适了。我最初可能会留下一些信息,所以请告诉我你还需要什么,谢谢!
目前正在运行ubuntu 7,使用的是composer和laravel,两者似乎都正确安装:
当我输入' php artisan serve'和' php artisan serve --port:8000'进入终端我得到这个错误:
PHP警告: 需要(/家/用户/项目/啄/引导/../供应商/ autoload.php): 无法打开流:没有这样的文件或目录 第17行的/home/user/Projects/thingy/bootstrap/autoload.php PHP 致命错误:require():需要打开失败 ' /家庭/用户/项目/啄/引导/../供应商/ autoload.php' (include_path ='。:/ usr / share / php')in 第17行/home/user/Projects/thingy/bootstrap/autoload.php
当我尝试运行' php -S localhost:8000 -t public /'就像尝试刷新时出现以下错误一样:
PHP 7.0.18-0ubuntu0.17.04.1开发服务器于7月6日星期四开始 09:15:36 2017听http://localhost:8000文件根目录是 / home / user / Projects / thingy / public按Ctrl-C退出。 [7月6日星期四 2017年9月15日:40] PHP警告: 需要(/家/用户/项目/啄/引导/../供应商/ autoload.php): 无法打开流:没有这样的文件或目录 第17行的/home/user/Projects/thingy/bootstrap/autoload.php [周四 7月6日09:15:40 2017] PHP致命错误:require():打开失败 需要 ' /家庭/用户/项目/啄/引导/../供应商/ autoload.php' (include_path ='。:/ usr / share / php')in 第17行的/home/user/Projects/thingy/bootstrap/autoload.php [周四 7月6日09:15:40 2017] 127.0.0.1:57214 [500]:/ - require():失败 需要开放 ' /家庭/用户/项目/啄/引导/../供应商/ autoload.php' (include_path ='。:/ usr / share / php')in 第17行/home/user/Projects/thingy/bootstrap/autoload.php
我检查了服务器是否已经在使用' ps -ef |运行grep php'终端中的命令,我根本看不到任何运行的服务器。
我已经运行了作曲家安装'我收到以下错误:
无法创建缓存目录 /home/user/.composer/cache/repo/https---packagist.org/,或目录 是不可写的。无缓存进行无法创建缓存 目录/home/user/.composer/cache/files/,或目录不是 写。无缓存进行无法创建缓存目录 /home/user/.composer/cache/repo/https---packagist.org/,或目录 是不可写的。在没有缓存的情况下继续加载composer 包含信息的存储库安装依赖项 来自锁定文件的(包括require-dev)您的要求不可能 解决了一组可安装的软件包。
问题1 - laravel / framework v5.4.28的安装请求 - > laravel / framework [v5.4.28]可以满足。 - laravel / framework v5.4.28需要ext-mbstring * - >您的系统中缺少所请求的PHP扩展名mbstring 问题2 - phpunit / php-code-coverage 4.0.8的安装请求 - >可以通过phpunit / php-code-coverage [4.0.8]来满足。 - phpunit / php-code-coverage 4.0.8需要ext-dom * - >系统中缺少所请求的PHP扩展dom。问题3 - phpunit / phpunit 5.7.21的安装请求 - >可以通过phpunit / phpunit [5.7.21]得到满足。 - phpunit / phpunit 5.7.21需要ext-dom * - >系统中缺少所请求的PHP扩展dom。问题4 - laravel / framework v5.4.28需要ext-mbstring * - >系统中缺少所请求的PHP扩展名mbstring。 - laravel / tinker v1.0.1需要照亮/控制台~5.1 - > laravel / framework [v5.4.28]可以满足。 - laravel / tinker v1.0.1的安装要求 - > laravel / tinker [v1.0.1]可以满足。
要启用扩展程序,请验证它们是否已在.ini中启用 文件: - /etc/php/7.0/cli/php.ini - /etc/php/7.0/cli/conf.d/10-opcache.ini - /etc/php/7.0/cli/conf.d/10-pdo.ini - /etc/php/7.0/cli/conf.d/20-calendar.ini - /etc/php/7.0/cli/conf.d/20-ctype.ini - /etc/php/7.0/cli/conf.d/20-exif.ini - /etc/php/7.0/cli/conf.d/20-fileinfo.ini - /etc/php/7.0/cli/conf.d/20-ftp.ini - /etc/php/7.0/cli/conf.d/20-gettext.ini - /etc/php/7.0/cli/conf.d/20-iconv.ini - /etc/php/7.0/cli/conf.d/20-json.ini - /etc/php/7.0/cli/conf.d/20-pdo_pgsql.ini - /etc/php/7.0/cli/conf.d/20-pgsql.ini - /etc/php/7.0/cli/conf.d/20-phar.ini - /etc/php/7.0/cli/conf.d/20-posix.ini - /etc/php/7.0/cli/conf.d/20-readline.ini - /etc/php/7.0/cli/conf.d/20-shmop.ini - /etc/php/7.0/cli/conf.d/20-sockets.ini - /etc/php/7.0/cli/conf.d/20-sysvmsg.ini - /etc/php/7.0/cli/conf.d/20-sysvsem.ini - /etc/php/7.0/cli/conf.d/20-sysvshm.ini - /etc/php/7.0/cli/conf.d/20-tokenizer.ini - /etc/php/7.0/cli/conf.d/20-zip.ini您也可以在终端内运行
php --ini
以查看PHP在CLI模式下使用的文件。
运行' composer dump-autoload'我得到以下内容:
无法创建缓存目录 /home/user/.composer/cache/repo/https---packagist.org/,或目录 是不可写的。无缓存进行无法创建缓存 目录/home/user/.composer/cache/files/,或目录不是 写。无缓存进行无法创建缓存目录 /home/user/.composer/cache/repo/https---packagist.org/,或目录 是不可写的。无缓存进行生成优化 自动加载文件
在遵循Nishan Karunarathna和Alex的建议后,我现在遇到以下错误,当我运行' php artisan serve':
PHP致命错误:未捕获错误:类 '照亮\基金会\应用'找不到 /home/joshua/Projects/thingy/bootstrap/app.php:14堆栈追踪:
0 / home / joshua / Projects / thingy / artisan(18):require_once()
在第14行的/home/joshua/Projects/thingy/bootstrap/app.php中抛出1 {main}
感谢您提供任何帮助!
答案 0 :(得分:0)
我认为你应该:
1)安装额外的php扩展。跑进你的终端类似:
$ sudo apt-get install php7.0-opcache php7.0-calendar php7.0-ctype php7.0-gettext ...
2)然后授予缓存作曲家目录的权限:
$ sudo chmod -R u+w /home/joshua/.composer
或者如果此目录不存在,则应在$ sudo mkdir /home/joshua/.composer
3)运行$ composer install
但我想引起你的注意:
1)检查您的主目录的写权限。如果你没有它们,大部分程序都无法正常工作
2)可能你需要php扩展但它们没有加载。在这种情况下,请检查.ini文件并启用扩展名。
答案 1 :(得分:0)
您在进行作曲家安装时遇到错误。
安装所需的PHP扩展
sudo apt-get install php7.0-mbstring
sudo apt-get install php7.0-xml
然后重新启动你的nginx并尝试再次运行composer install。
答案 2 :(得分:0)
好的,所以我设法回答了我自己的问题(实际上是朋友为我解答了。)
显然,在你安装了laravel和composer之后,它有时会丢失文件路径:
我必须在/ home / user / level的隐藏文件中打开我的.bashrc文件并添加命令'export PATH =〜/ .composer / vendor / bin:$ PATH'
我认为其他用户确实有助于修复我的问题,因为laravel和composer似乎没有正确安装,尽管文件位于适当的位置。