ΠΡΡΡΠΏ
ΠΠΎΠ΄ΡΠ»Ρ Π΄ΠΎΠ·Π²ΠΎΠ»ΡΡ Π·Π°Π²Π°Π½ΡΠ°ΠΆΡΠ²Π°ΡΠΈ Π·Π°Π³Π°Π»ΡΠ½Ρ (shared) Π±ΡΠ±Π»ΡΠΎΡΠ΅ΠΊΠΈ (.DLL Π°Π±ΠΎ .so), Π²ΠΈΠΊΠ»ΠΈΠΊΠ°ΡΠΈ C-ΡΡΠ½ΠΊΡΡΡ ΡΠ° ΠΎΡΡΠΈΠΌΡΠ²Π°ΡΠΈ Π΄ΠΎΡΡΡΠΏ ΡΠ· ΡΡΡΡΠΊΡΡΡ ΠΌΠΎΠ²ΠΈ C Π· PHP Π±Π΅Π· Π½Π΅ΠΎΠ±Ρ ΡΠ΄Π½ΠΎΡΡΡ Π³Π»ΠΈΠ±ΠΎΠΊΠΎ Π²ΠΈΠ²ΡΠ°ΡΠΈ API ΠΌΠΎΠ΄ΡΠ»ΡΠ² Zend Ρ ΡΡΠΎΡΠΎΠ½Π½ΡΠΎΡ, "ΠΏΡΠΎΠΌΡΠΆΠ½ΠΎΡ" ΠΌΠΎΠ²ΠΈ. ΠΡΠ±Π»ΡΡΠ½ΠΈΠΉ API ΡΠ΅Π°Π»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΉ ΡΠΊ ΡΠ΄ΠΈΠ½ΠΈΠΉ ΠΊΠ»Π°Ρ FFI Π· Π΄Π΅ΡΠΊΠΈΠΌ Π½Π°Π±ΠΎΡΠΎΠΌ ΡΡΠ°ΡΠΈΡΠ½ΠΈΡ ΠΌΠ΅ΡΠΎΠ΄ΡΠ² (Π΄Π΅ΡΠΊΡ ΠΌΠΎΠΆΡΡΡ Π²ΠΈΠΊΠ»ΠΈΠΊΠ°ΡΠΈΡΡ Π΄ΠΈΠ½Π°ΠΌΡΡΠ½ΠΎ) Ρ ΠΏΠ΅ΡΠ΅Π²ΠΈΠ·Π½Π°ΡΠ΅Π½ΠΈΠΌΠΈ ΠΌΠ΅ΡΠΎΠ΄Π°ΠΌΠΈ ΠΎΠ±'ΡΠΊΡΠ°, ΡΠΎ Π΄ΠΎΠ·Π²ΠΎΠ»ΡΡ Π²Π·Π°ΡΠΌΠΎΠ΄ΡΡΡΠΈ Π· Π΄Π°Π½ΠΈΠΌΠΈ Π.
ΠΠ°ΡΡΠ΅ΡΠ΅ΠΆΠ΅Π½Π½Ρ
ΠΠΎΠ΄ΡΠ»Ρ FFI Π΄ΠΎΡΠΈΡΡ Π½Π΅Π±Π΅Π·ΠΏΠ΅ΡΠ½ΠΈΠΉ, ΠΎΡΠΊΡΠ»ΡΠΊΠΈ Π΄ΠΎΠ·Π²ΠΎΠ»ΡΡ Π²Π·Π°ΡΠΌΠΎΠ΄ΡΡΡΠΈ ΡΠ· ΡΠΈΡΡΠ΅ΠΌΠΎΡ Π½Π° Π΄ΡΠΆΠ΅ Π½ΠΈΠ·ΡΠΊΠΎΠΌΡ ΡΡΠ²Π½Ρ. ΠΠΎΠ΄ΡΠ»Ρ FFI ΠΏΠΎΠ²ΠΈΠ½Π΅Π½ Π²ΠΈΠΊΠΎΡΠΈΡΡΠΎΠ²ΡΠ²Π°ΡΠΈΡΡ ΡΡΠ»ΡΠΊΠΈ ΡΠΎΠ·ΡΠΎΠ±Π½ΠΈΠΊΠ°ΠΌΠΈ, Π·Π½Π°ΠΉΠΎΠΌΠΈΠΌΠΈ Π· ΠΌΠΎΠ²ΠΎΡ Π‘ Ρ Π²ΠΌΡΡΡΡ Π²ΠΈΠΊΠΎΡΠΈΡΡΠΎΠ²ΡΠ²Π°ΡΠΈ ΠΉΠΎΠ³ΠΎ API. ΠΠ»Ρ ΠΌΡΠ½ΡΠΌΡΠ·Π°ΡΡΡ ΡΠΈΠ·ΠΈΠΊΡ ΠΌΠΎΠ΄ΡΠ»Ρ ΠΌΠΎΠΆΠ΅ Π±ΡΡΠΈ Π·Π°Π±ΠΎΡΠΎΠ½Π΅Π½ΠΈΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²ΠΎΡ ffi.enableΠ² php.ini.
ΠΠ°ΡΠ²Π°ΠΆΠ΅Π½Π½Ρ :
ΠΠΎΠ΄ΡΠ»Ρ FFI ΡΠΎΠ±ΠΈΡΡ ΠΊΠ»Π°ΡΠΈΡΠ½ΠΈΠΉ API ΠΌΠΎΠ΄ΡΠ»ΡΠ² PHP Π·Π°ΡΡΠ°ΡΡΠ»ΠΈΠΌ; Π²ΡΠ½ ΠΏΡΠΈΠ·Π½Π°ΡΠ΅Π½ΠΈΠΉ Π΄Π»Ρ Π²Π·Π°ΡΠΌΠΎΠ΄ΡΡ Π· ΡΡΠ½ΠΊΡΡΡΠΌΠΈ ΡΠ° ΡΡΡΡΠΊΡΡΡΠ°ΠΌΠΈ Π΄Π°Π½ΠΈΡ C.
ΠΡΠ΄ΠΊΠ°Π·ΠΊΠ°
ΠΠ°ΡΠ°Π· Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ ΡΡΡΡΠΊΡΡΡ Π΄Π°Π½ΠΈΡ FFI ΠΏΡΠΈΠ±Π»ΠΈΠ·Π½ΠΎ Π² 2 ΡΠ°Π·ΠΈ ΠΏΠΎΠ²ΡΠ»ΡΠ½ΡΡΠΈΠΉ, Π½ΡΠΆ Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ ΠΎΠ±'ΡΠΊΡΡΠ² Ρ ΠΌΠ°ΡΠΈΠ²ΡΠ² PHP. Π’Π°ΠΊΠΈΠΌ ΡΠΈΠ½ΠΎΠΌ, Π½Π΅ΠΌΠ°Ρ ΠΏΡΠ΄ΡΡΠ°Π² Π²ΠΈΠΊΠΎΡΠΈΡΡΠΎΠ²ΡΠ²Π°ΡΠΈ FFI Π΄Π»Ρ ΠΏΡΠΈΡΠΊΠΎΡΠ΅Π½Π½Ρ; ΠΎΠ΄Π½Π°ΠΊ ΠΉΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ½Π° Π²ΠΈΠΊΠΎΡΠΈΡΡΠΎΠ²ΡΠ²Π°ΡΠΈ Π΄Π»Ρ ΡΠΊΠΎΡΠΎΡΠ΅Π½Π½Ρ ΠΏΠ°ΠΌ'ΡΡΡ, ΡΠΎ ΡΠΏΠΎΠΆΠΈΠ²Π°ΡΡΡΡΡ.