我的朋友们,我有一个艰巨的任务,用libssh2创建php扩展名(我将其称为custom-extension)。扩展名必须与php扩展名pthreads一起使用。假设我有100个php线程。如我所见,所有线程都具有相同的自定义扩展实例。而且,正如我所认为的,这就是为什么我使用多于1个线程时会遇到很多问题的原因。例如,自定义扩展C代码中的全局变量将由pthreads重写。当然,我可以使用__thread
,但不能解决问题。自定义扩展中Libssh2的使用使事情变得更加困难。我不会提供任何代码,因为我认为这无关紧要。
所以问题是:是否可以使每个php pthread使用自己的新自定义扩展实例?我认为这对我的情况会更好,因为这样我将为每个线程封装自定义扩展。同样,在自定义扩展中使用的libssh2也应该是每个线程的新实例。这种方法必须避免变量覆盖和其他段错误。
--enable-pthreads=shared
编译了自定义扩展