【问题标题】:Google App Engine - mcrypt.so - No such file or directory in Unknown on line 0Google App Engine - mcrypt.so - 在第 0 行的未知中没有这样的文件或目录
【发布时间】:2018-12-14 07:18:43
【问题描述】:

我有一个在 Google App Engine(标准环境)上运行的 Laravel 4.2 应用程序,每分钟左右我都会收到一个 500 返回,并记录以下错误。请求是从数据库返回的小对象。

任何想法为什么它会如此零星?我可以看到,没有什么可以将错误指向特定的方法/路线。我是 GAE 的新用户,非常感谢任何帮助。谢谢!

PHP 警告:PHP 启动:无法加载动态库 '/base/alloc/tmpfs/dynamic_runtimes/php55_dynamic/230a19aa4cd01ca1/modules/mcrypt.so' - /base/alloc/tmpfs/dynamic_runtimes/php55_dynamic/230a19aa4cd01ca1/modules/ mcrypt.so:无法打开共享对象文件:第 0 行的 Unknown 中没有此类文件或目录

PHP.INI:

google_app_engine.enable_functions = "php_sapi_name, php_uname, getmypid, set_time_limit"

output_buffering = on

allow_url_include=1

extension = "mcrypt.so"

extension = "curl.so"

allow_url_fopen = On

【问题讨论】:

  • 您使用的是什么版本的 PHP? mycrypt 在 PHP 7.2 中被弃用(并且从 PHP 7.0 开始被积极劝阻)。查看 libsodium 以满足您的 PHP 加密需求:php.net/manual/en/book.sodium.php
  • 我正在使用运行时:php55 (app.yaml) - 他们不支持标准环境中的 7。 cloud.google.com/appengine/docs/standard/php
  • 我在本地环境(dev_appserver.py)中偶尔也会遇到同样的错误。 (PHP 警告:PHP 启动:无法加载动态库 '/Users/billtaylor/google-cloud-sdk/platform/php55/mcrypt.so')

标签: php laravel google-app-engine laravel-4 mcrypt


【解决方案1】:

如果您查看official documentation,您会看到mcrypt 已在系统上预安装并启用。因此,您不必在php.ini 中包含extension = "mcrypt.so",只需将其删除即可。

请查看 Stack Overflow 线程 Can't Enable PHP Extensions on php.ini on App Engine for Laravel

【讨论】:

  • 非常感谢。看起来我只需要在本地 dev_appserver 中声明该扩展,并将其删除以用于生产。干杯!!
猜你喜欢
  • 2015-05-30
  • 2019-01-22
  • 2015-05-07
  • 2019-02-20
  • 1970-01-01
  • 1970-01-01
  • 2020-04-25
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多