Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

建议云函数添加华为云函数 #74

Open
jwan9714 opened this issue Apr 25, 2022 · 21 comments
Open

建议云函数添加华为云函数 #74

jwan9714 opened this issue Apr 25, 2022 · 21 comments
Labels
enhancement New feature or request

Comments

@jwan9714
Copy link
Contributor

腾讯云函数5月23号开始老用户没有免费额度了,阿里云函数流量一直没有免费额度,大佬有考虑在云函数支持列表里面加上华为云函数吗?

感觉华为的云函数和其他两家的主要区别应该是在获取环境变量的方法上,其他两家都可以直接用getenv()方法获取,华为的需要用$context->getUserData()

在不修改代码的情况下我通过在.env.example里面添加账号信息是可以正常运行的,感觉需要改的地方应该不是太多(菜鸟一个,不知道说得对不对)

@luolongfei
Copy link
Owner

可以的,最好能提供一下相关文档,我这边空了弄。

@jwan9714
Copy link
Contributor Author

jwan9714 commented Apr 25, 2022

可以的,最好能提供一下相关文档,我这边空了弄。

https://support.huaweicloud.com/usermanual-functiongraph/functiongraph_01_0154.html
这个是配置环境变量的文档

https://support.huaweicloud.com/devg-functiongraph/functiongraph_02_0460.html
这个是PHP函数的一个开发指南,可以通过SDK接口获取环境变量

感谢~

@luolongfei
Copy link
Owner

ok

@luolongfei luolongfei added the enhancement New feature or request label Apr 25, 2022
@luolongfei
Copy link
Owner

@jwan9714 刚刚看了下,华为云账户需要实名认证才能用,目前暂时不想认证,是否方便提供一下华为云账户供测试?我将在贡献者名单里致谢。测试完成后改下密码或者我这边临时通过扫码登录都可以。如果可以的话,可电报联系@llfapp

@jwan9714
Copy link
Contributor Author

@luolongfei 感谢回复,共享账户可能不太方便,那我后面就还是通过在文件里添加账号信息使用了(或者有时间了学一下php)

@luolongfei
Copy link
Owner

没事的。那是否可以我修改一版,然后你协助测试?看你之前的描述,华为云函数应该也是支持 getenv 的,可能是他们少做了一步:将控制台配置的环境变量直接写入环境中。

@jwan9714
Copy link
Contributor Author

这样也可以,麻烦大佬啦~

@luolongfei
Copy link
Owner

freenom_scf_4.zip

试试这个版本,函数执行入口填 index.huawei_handler

然后在控制台配置环境变量,不改代码里的内容,看看能否让环境变量生效

@luolongfei
Copy link
Owner

freenom_scf_4.zip

试试这个版本,函数执行入口填 index.huawei_handler

然后在控制台配置环境变量,不改代码里的内容,看看能否让环境变量生效

这个是在原来基础上加了点东西,完全盲写的,没法测试

@jwan9714
Copy link
Contributor Author

2022/04/26 17:17:25 GMT+08:00 Start invoke request '0d8bc2db-dd09-48a0-929a-385c75d9c230', version: latest
2022/04/26 17:17:25 GMT+08:00 0d8bc2db-dd09-48a0-929a-385c75d9c230 开始执行华为云函数ErrorMessage: WARNING on line 22 in file /libs/Lang.php 
require(/opt/function/code/resources/lang/.php): failed to open stream: No such file or directory 
[2022-04-26 17:17:25] {"type":64,"message":"require(): Failed opening required '\/opt\/function\/code\/resources\/lang\/.php' (include_path='.:\/usr\/local\/php7.3\/lib\/php')","file":"\/opt\/function\/code\/libs\/Lang.php","line":22} 
[2022-04-26 17:17:25] pusher.ERROR:  {"type":64,"message":"require(): Failed opening required '/opt/function/code/resources/lang/.php' (include_path='.:/usr/local/php7.3/lib/php')","file":"/opt/function/code/libs/Lang.php","line":22} []
Fatal error: Uncaught TypeError: Argument 2 passed to Luolongfei\Libs\MessageServices\Mail::send() must be of the type string, null given, called in /opt/function/code/libs/Message.php on line 50 and defined in /opt/function/code/libs/MessageServices/Mail.php:164
Stack trace:
#0 /opt/function/code/libs/Message.php(50): Luolongfei\Libs\MessageServices\Mail->send('{"type":64,"mes...', NULL)
#1 /opt/function/code/index.php(54): Luolongfei\Libs\Message::__callStatic('send', Array)
#2 [internal function]: customize_error_handler()
#3 {main}
  thrown in /opt/function/code/libs/MessageServices/Mail.php on line 164
2022/04/26 17:17:25 GMT+08:00 Finish invoke request '0d8bc2db-dd09-48a0-929a-385c75d9c230'(invoke Failed:RuntimeProcessExited), duration: 14.998ms, billing duration: 100ms, memory used: 196.496MB, rss memory used: 28.027MB.

好像不太行,提示无法加载语言包

@luolongfei
Copy link
Owner

freenom_scf_5.zip

再试试这个?

@jwan9714
Copy link
Contributor Author

这次可以了,感谢~

@luolongfei
Copy link
Owner

不客气。有时间的话可以提个 pr,帮忙做个华为云函数的教程。

@jwan9714
Copy link
Contributor Author

好的

@jwan9714
Copy link
Contributor Author

发现wiki页面好像不能pull requests,简单做了个教程,先放在这里了,大佬有时间了加在wiki里面吧~

https://raw.githubusercontent.com/jwan9714/freenom/main/HUAWEI.md

@luolongfei
Copy link
Owner

@jwan9714 多谢。建议将它加在 README.md 文件的某个位置,然后再提 PR,然后我再转移到 wiki,这样你才会出现在贡献者名单里面。

@jwan9714
Copy link
Contributor Author

放在 README.md 的最后了~

@louiejordan
Copy link

你就不担心华为突然也取消免费?

@jwan9714
Copy link
Contributor Author

@louiejordan 取消就取消了呗,我自己也有服务器,只是想借这个机会学一下云函数

@Little-Ming-1998
Copy link

@louiejordan 取消就取消了呗,我自己也有服务器,只是想借这个机会学一下云函数

现在创建华为云函数的页面,没有函数入口,运行时也没有PHP选择,请问该怎么处理?

@jwan9714
Copy link
Contributor Author

jwan9714 commented Nov 4, 2022

@louiejordan 取消就取消了呗,我自己也有服务器,只是想借这个机会学一下云函数

现在创建华为云函数的页面,没有函数入口,运行时也没有PHP选择,请问该怎么处理?

@Little-Ming-1998 刚刚看了一下,华为云函数V2现在不支持PHP,而好多区域的云函数默认只有V2版本

https://support.huaweicloud.com/usermanual-functiongraph/functiongraph_01_1827.html

所以需要把区域选成支持V1的,国外比如拉美-墨西哥城一、非洲-约翰内斯堡,国内比如华北-北京一,我刚刚在墨西哥城一试了一下,是可以正常运行的~

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

4 participants