作者rickysu (Ricky)
看板PHP
标题Re: [请益] 初始化自定的php extension library
时间Thu Jul 11 13:53:44 2013
※ 引述《meowyih (meowyih)》之铭言:
: 假设我有一个简单的 C Library,
: 里面只有三个 functions:
: /* 初始化整个 Library,只需呼叫一次 */
: 1. void my_library_initialize()
: /* 取得一个数字, thread-safe */
: 2. int my_library_get_something()
: /* finalize 整个 Library,释放所有资源 */
: 3. void my_library_finalize()
: 我想自己写一个 php extension,
: 让 php 能直接使用 my_library_get_something()。
: 但我不知道 initialize() 和 finalize() 该放在哪里,
: 这二个 functions 应该只被呼叫一次,
: 而非每次使用 my_library_get_something() 都重新再初始化,
: 请问该怎麽做呢?
你可能要了解一下 php extension 里面这 4 个 marco
PHP_MINIT_FUNCTION -> 当 extension 被载入时初始化使用
PHP_MSHUTDOWN_FUNCTION -> 当 extension 被卸载时使用
PHP_RINIT_FUNCTION -> 每次 request 初始化
PHP_RSHUTDOWN_FUNCTION -> 每次 request 结束
MINIT 跟 MSHUTDOWN 只会在 server 启动或结束时呼叫一次
RINIT 跟 RSHUTDOWN 会在每次 request 都会被呼叫
就看你的需求摆放喽
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.130.136.115
1F:推 meowyih:感谢!!! 07/11 14:03