php - AWS Lambda php:放置 php.ini 的位置
问题描述
我正在尝试在 stackery 层的基础上为 AWS Lambda 创建一个 php 7.3.6 层。[见这里]
我尝试通过将添加和添加到模块文件夹并进入 php.ini 来使mysqli.so
mySQLpdo_mysql.so
可用mysqlnd.so
。
该层本身可以正常工作,但不会加载 mySQL 扩展。如果我创建一个仅由它组成的简单 lambda 函数,phpinfo()
会告诉我,我的 ini 文件没有找到,它应该在/etc
.
phpinfo() 的输出:
System Linux 169.254.201.229 4.14.114-93.126.amzn2.x86_64 #1 SMP Wed May 8 20:42:46 UTC 2019 x86_64
Build Date May 28 2019 15:55:44
Server API Built-in HTTP server
Virtual Directory Support disabled
Configuration File (php.ini) Path /etc
Loaded Configuration File (none)
Scan this dir for additional .ini files /opt/etc/php-7.3.d/:/var/task/php-7.3.d/
Additional .ini files parsed (none)
PHP API 20180731
PHP Extension 20180731
Zend Extension 320180731
Zend Extension Build API320180731,NTS
PHP Extension Build API20180731,NTS
Debug Build no
Thread Safety disabled
Zend Signal Handling enabled
Zend Memory Manager enabled
Zend Multibyte Support disabled
IPv6 Support enabled
DTrace Support available, disabled
Registered PHP Streams https, ftps, compress.zlib, php, file, glob, data, http, ftp
Registered Stream Socket Transports tcp, udp, unix, udg, ssl, sslv3, tls, tlsv1.0, tlsv1.1, tlsv1.2
Registered Stream Filters zlib.*, string.rot13, string.toupper, string.tolower, string.strip_tags, convert.*, consumed, dechunk
[...]
我用于 php 层的 .zip 文件的文件夹结构如下:
bootstrap
php.ini
bin
| php
lib
| [...]
| php
| 7.3
| | modules
| | | [...]
我是否必须更改我的文件夹结构,或者我可以告诉 php 在哪里搜索php.ini
?
解决方案
推荐阅读
- laravel - Laravel 响应下载在路由中间件和前缀中不起作用
- c# - 在分配“常规”(映射)属性值之后分配 [NotMapped] 属性值
- javascript - Paperjs弹跳动画
- angular - 使用条件的Angular 5绑定模型
- github - GitHub Actions 和 Jenkins 等其他 CI 工具有什么区别?
- javascript - 如何将矩形变成圆形
- c# - 当我运行我的 selenium C# 测试用例时,它失败了,当我调试它时,它通过了,问题是什么?
- wordpress - WAMP 服务器不处理索引文件(而是显示目录列表)
- python - TypeError: 'ParseExample' Op 的输入'serialized' 的 float32 类型与预期的字符串类型不匹配
- java - 升级到 gradle 插件 3.2.1 和 SDK 28 失败