Laravel Homestead Mongo 安装导致 PHP 错误未定义符号:第 0 行未知中的 php_json_serialized_ce

2024-01-10

PHP 警告:PHP 启动:无法加载动态库 '/usr/lib/php/20151012/mongodb.so' - /usr/lib/php/20151012/mongodb.so: 未定义符号:第 0 行未知中的 php_json_serialized_ce

安装 MongoDB 后,每当我从终端运行任何 php 命令时,我都会收到此错误:

PHP工匠

php -v

我已经找了2天了。我见过这些:

PHP无法加载动态库(mongo.so) https://stackoverflow.com/questions/24030255/php-unable-to-load-dynamic-library-mongo-so

https://github.com/mongodb/mongo-php-library/issues/126 https://github.com/mongodb/mongo-php-library/issues/126

我很确定谷歌会出现此错误的任何其他解决方案。它们似乎都是 php5 的修复程序,但对我不起作用。

我已将extension=mongodb.so 添加到ini 文件中。

我已经销毁了虚拟机并重新启动了 100 次。

我在跑: 流浪者1.8.5 Laravel 安装程序版本 1.3.3

vagrant@homestead:~$ php -v 

PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php/20151012/mongodb.so' - /usr/lib/php/20151012/mongodb.so: undefined symbol: php_json_serializable_ce in Unknown on line 0 PHP
7.0.13-1+deb.sury.org~xenial+1 (cli) ( NTS ) Copyright (c) 1997-2016 The PHP Group Zend Engine v3.0.0, Copyright (c) 1998-2016 Zend Technologies
    with Zend OPcache v7.0.13-1+deb.sury.org~xenial+1, Copyright (c) 1999-2016, by Zend Technologies
    with blackfire v1.14.1~linux-x64-non_zts70, https://blackfire.io, by Blackfireio Inc.

Mongo 已安装并运行良好:

vagrant@homestead:~$ mongo
MongoDB shell version v3.4.0
connecting to: mongodb://127.0.0.1:27017
MongoDB server version: 3.4.0
Server has startup warnings: 
2016-12-05T15:32:01.158+0000 I STORAGE  [initandlisten] 
2016-12-05T15:32:01.204+0000 I CONTROL  [initandlisten] 
2016-12-05T15:32:01.204+0000 I CONTROL  [initandlisten] ** WARNING: Access control is not enabled for the database.
2016-12-05T15:32:01.204+0000 I CONTROL  [initandlisten] **          Read and write access to data and configuration is unrestricted.
2016-12-05T15:32:01.204+0000 I CONTROL  [initandlisten] 
2016-12-05T15:32:01.204+0000 I CONTROL  [initandlisten] 
2016-12-05T15:32:01.204+0000 I CONTROL  [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/enabled is 'always'.
2016-12-05T15:32:01.204+0000 I CONTROL  [initandlisten] **        We suggest setting it to 'never'
2016-12-05T15:32:01.204+0000 I CONTROL  [initandlisten] 
2016-12-05T15:32:01.204+0000 I CONTROL  [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/defrag is 'always'.
2016-12-05T15:32:01.205+0000 I CONTROL  [initandlisten] **        We suggest setting it to 'never'
2016-12-05T15:32:01.205+0000 I CONTROL  [initandlisten] 
> 

但我无法无缘无故地阻止这个 php 错误!!!


我认为问题在于 mongodb.so 依赖于 json.so。解决方案是在json.so之后加载mongodb.so。

我猜你正在使用 Homestead 的自定义 Mongo 脚本。该脚本在 php.ini 文件中输出 mongodb.so 模块,结果是首先加载 mongodb.so。 您应该创建一个 mongodb.ini 文件来加载 mongodb.so。

创建 .ini 文件:/etc/php/7.0/mods-available/mongodb.ini,内容为:

; configuration for php mongo module
; priority=30
extension=mongodb.so

给它优先级 30,因为 json 得到 20(在我的设置中)以确保它随后加载。

创建 ini 文件到 /etc/php/7.0/fpm/conf.d 的软链接,以使其可供网络服务器使用。

ln -s /etc/php/7.0/mods-available/mongodb.ini 30-mongodb.ini

重新加载网络服务器和 php-fpm。

sudo service [your webserver] restart && sudo service php7.0-fpm restart

你完成了!您可以以同样的方式配置 cli-version

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Laravel Homestead Mongo 安装导致 PHP 错误未定义符号:第 0 行未知中的 php_json_serialized_ce 的相关文章

  • PHP:将多字节字符串(单词)拆分为单独的字符

    尝试使用 mb split 将这个字符串 主楼怎么走 分割成单独的字符 我需要一个数组 但没有成功 有什么建议吗 谢谢你 例如 尝试使用带有 u 选项的正则表达式 chars preg split u string 1 PREG SPLIT
  • 使用 phpdocx 下载损坏的 .docx

    我有一个项目 我们使用 phpdocx pro 在模板中生成 docx 文件 我可以很容易地将数据输入到模板中 但是当下载文件并在 MS Word 2010 中打开时 程序报告无法打开文件 因为内容存在问题 详细信息是 文件已损坏 并且无法
  • PHP 的脚手架 [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 PHP 中有什么东西可以像 Rails 一样创建基本的脚手架吗 编辑 我需要一些东西来快速原型化 一些框架比如Symfony http www sym
  • 显示和随机化 php 数组

    我有一个显示结果的数组 如下所示 Array 0 gt 71 1 gt 56 2 gt 64 3 gt 82 4 gt 90 5 gt 80 6 gt 65 7 gt 62 8 gt 14 9 gt 3 我的代码是 while row my
  • yii2 中的自动完成

    在 Yii2 中 我希望当用户开始输入时 我的输入字段之一能够自动完成 下面是我的代码 它使用Jui Autocomplete 这是行不通的 当我打印我的数组时 我就像 Array 1 gt abc 2 gt xyz 4 gt pqr
  • 如何在同一 PHP 页面上多次使用 mysqli fetch_assoc() 和准备好的语句?

    有没有办法启用fetch assoc 在同一页上多次使用准备好的语句 data conn gt prepare SELECT FROM some table WHERE id data gt bind param i id data gt
  • 限制号mongodb 输入中的行数

    如何限制数量 在kettle中使用的mongodb输入转换中检索到的行数 我尝试在 mongodb 输入查询中使用以下查询 但它们都不起作用 查询 限制 10 或 limit 10 请让我知道我哪里出错了 谢谢 迪普蒂 有几个查询修改操作符
  • 使用 :hover 作为元素的内联样式(使用 HTML/CSS/php)[重复]

    这个问题在这里已经有答案了 可能的重复 如何将 a hover 规则嵌入到文档中间的样式属性中 https stackoverflow com questions 131653 how do i embed an ahover rule i
  • php oracle客户端oci8安装出现什么问题

    我尝试了安装 PHP Oracle 客户端的所有过程 1 我安装了客户端版本8和32位 2 我在php ini中取消了oci的注释 3 重新启动Wamp 4 不确定是否真的安装 但我在 php ini 中得到了引用 5 但仍然无法连接 泰汉
  • 修复 laravel 5 会话在刷新或进入另一个页面后过期的问题?

    我正在使用 laravel 默认身份验证 当我登录我的网站时 一切都很好 当我尝试刷新或转到另一个页面 仍然使用身份验证中间件 时 我的会话已过期 我直接注销 必须再次登录 如何解决此问题 以便在刷新页面或浏览另一个页面时保持登录状态 值得
  • 扩展构建器中的“映射到现有表”显示 TYPO3 中的奇怪问题

    在我的扩展中MyExt 我映射了模型Page to pagesTYPO3 中的表 首先它向我展示了type mismatch错误 无论如何我继续保存它 会发生以下情况 我的页面树变成这样 我的新记录表单仅显示 UID 而不显示标题 My P
  • PHP switch case 在 case 中存在多个值

    我有一个变量保存值 每周 每月 季度 和 年度 还有另一个变量保存值从 1 到 10 switch var2 case 1 var3 Weekly break case 2 var3 Weekly break case 3 var3 Mon
  • PHP LDAP 查询获取特定安全组的成员

    我正在努力让 LDAP 查询工作来为我提供安全组的成员 我们的活动目录结构设置为 DC domain DC co dc uk然后 我们有一个名为 公司用户 的 OU 其中有一个用于 IT 和标准的 OU 在这些中我们创建了用户 所以我被设置
  • PHP 中的encodeURI() ?

    PHP 中是否有一些不编码的encodeURI 函数 我现在用这个 function encodeURI url http php net manual en function rawurlencode php https develope
  • MongoDB:在具有未知键的对象中查找给定字段值的文档

    我正在建立一个关于论文 论点的数据库 它们与其他参数相关 我将这些参数放置在带有动态键 https stackoverflow com questions 12393351 using a variable in mongodb updat
  • 为什么这评估为 true

    为什么这评估结果为真
  • if/else 简写来定义变量

    我很难理解 if else 的 php 简写是如何描述的here https stackoverflow com questions 20233207 php if shorthand and echo in one line possib
  • 如何将图像从 Android 应用程序上传到网络服务器的特定文件夹中

    如何将图像从 android 移动到 Web 服务器上的指定文件夹 这是我的安卓代码 package com example bitmaptest import java io ByteArrayOutputStream import ja
  • 我可以将 MongoDB 与实体框架一起使用吗?

    实体框架有可能支持MongoDB数据库吗 有人写过实体框架MongoDB Provider吗 简短的回答 不 这肯定是可能的 但不合理 MongoDB 是文档数据库 不支持集合之间的任何物理关系 EF 非常适合 SQL MySQL 等关系数
  • 我可以让 swagger-php 在查询字符串上使用数组吗?

    我使用 Swagger php 当我定义查询字符串上的参数时 它可以是一个数组 但据我所知 它不支持这种查询字符串 https api domain tld v1 objects q 1 q 5 q 12 我相信这会被设定in the co

随机推荐