Laravel:php工匠服务没有开始

时间:2017-07-06 13:20:38

标签: php laravel

我在这里挖掘了其他几个答案,似乎没有什么比这更合适了。我最初可能会留下一些信息,所以请告诉我你还需要什么,谢谢!

目前正在运行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}

感谢您提供任何帮助!

3 个答案:

答案 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似乎没有正确安装,尽管文件位于适当的位置。