首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Laravel Homestead 7 "php5-fpm:未被识别的服务“

Laravel Homestead 7 "php5-fpm:未被识别的服务“
EN

Stack Overflow用户
提问于 2015-11-18 22:00:45
回答 4查看 9.5K关注 0票数 12

当尝试在每个项目的安装中使用php-7版本的Laravel时,我在vagrant up期间看到了这个错误。

php5-fpm: unrecognized service

我已经尝试过vagrant destroy并重新安装了Vagrant,但是它仍然回到了这个错误。

当我在全球范围内使用宅基地的时候,我没有得到这个错误。

怎么解决这个问题?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2015-11-18 22:00:45

问题是,虽然box: laravel/homestead-7是在Homestead.yaml中正确设置的,但laravel/homestead的编写器依赖仍然使用php-5版本。这意味着vendor/laravel/homestead中的Vagrant的配置脚本是php-5的,而不是php-7的。

可以通过为编写器依赖使用laravel/homestead的特定分支来解决这个问题。

composer.json中,为laravel/homestead添加一个自定义存储库

代码语言:javascript
复制
"repositories": [
    {
        "type": "git",
        "url": "https://github.com/laravel/homestead"
    }
]

并要求php-7分支专门用于laravel/homestead

代码语言:javascript
复制
"require-dev": {
    "laravel/homestead": "dev-php-7"
}

然后,composer update和重新配置Vagrant将修复这个问题。

更新

laravel/homestead现在默认拥有PHP7.0,旧的php-7分支不再存在。要解决此问题,只需通过laravel/homestead更新到composer.json的最新版本即可。

票数 14
EN

Stack Overflow用户

发布于 2016-01-07 02:11:33

为了快速解决问题,我发现这是拉拉的回答非常有用:

代码语言:javascript
复制
cd ~/Homestead && git pull && vagrant destroy && vagrant box update && vagrant up
票数 9
EN

Stack Overflow用户

发布于 2016-02-08 14:17:58

再详细阐述一下“摧毁它并重建”的方法.我喜欢这样做,而不是像PHP5.6到PHP7那样在网络上浮动的本地宅基地升级说明--它不会花很长时间,而且当你完成的时候,一切都会感觉“更干净”。

(当然,如果您已经对php.ini或任何其他软件进行了更改,则需要再次执行这些操作。)

制备

  • 您的项目应该位于主机上的目录中,该目录与Vagrant共享,而不仅仅是在Vagrant上,因为它即将被删除。
  • 将ssh放入VM中,并将每个站点的数据库的mysqldump放在站点目录中,例如mysqldump -u root -p [dbname] > [dbname]-backup.sql (默认的宅基地MySQL根pw是secret)。
  • 备份所有内容(例如Machine和/或做我做的事情,并将您的项目保存在Dropbox文件夹中)。当然,您的git存储库也存储在安全的地方?
  • Virtualbox用户:在导出整个框时没有害处,以防您陷入困境并想要切换到它(只拍一张快照是不够的,因为当VM被销毁时,也会删除任何快照)。

过程

  • vagrant halt (如果您还没有)
  • vagrant destroy [VM id]添加ID是防止销毁错误框的预防措施。使用vagrant global-status获取框的列表;在第一列中使用7个字符的十六进制代码。
  • 在主机PC/Mac git pull origin master上的~/Homestead (正如另一个答案所提到的,现在没有单独的PHP7分支)
  • 您可以重新运行bash脚本来创建一个干净的Homestead.yaml文件等等- bash init.sh,但是它复制的文件都是模板,所以您也不能这样做并保留以前的版本。
  • vagrant box add laravel/homestead (现在我们又回到了标准安装说明。这将需要大约10分钟的VDSL连接。
  • 在你的Mac/PC上编辑~/.住宅/住宅. your。

如果您对文档感到困惑,下面是文件夹映射的一个示例:

代码语言:javascript
复制
folders:
    - map: ~/Dropbox/websites-homestead
      to: /home/vagrant/sites

sites:
    - map: site1.app
      to: /home/vagrant/sites/site1/public
    - map: site2.app
      to: /home/vagrant/sites/site2/public

databases:
    - site1
    - site2

所以..。我的实际代码位于我的计算机上的~/Dropbox/websites/site1 1和/site2中,我已经将它们的共同父目录映射到VM上的/home/迷航/站点。Homestead将使用您所列出的名称创建空数据库。

  • vagrant up (这将提供它)
  • vagrant ssh
  • cd sites (您应该能够看到您的代码)
  • 用` `mysql -u root -p site1 < site1-backup.sql还原数据库
  • 如果您的计算机上有/etc/host条目,您应该能够查看您的站点。如果.env文件无法连接到数据库,请检查它。

您现在应该能够这样做了:

代码语言:javascript
复制
$sudo service php7.0-fpm status
* php-fpm7.0 is running

$php -v
PHP 7.0.2-4+deb.sury.org~trusty+1 (cli) ( NTS )
[...]
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33791261

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档