2010-04-04 27 views
3

加載c庫真的需要lib tre匹配庫。在我最近的一個項目中從php

但是,該項目是在PHP中,並沒有PHP的圖書館綁定。

我試過Google如何爲c庫創建一個接口,但是我發現的只有dl函數,它只能加載php擴展。

我錯過了什麼?

回答

6

如果沒有「PHP綁定」的存在,它看起來像你必須開發他們 ;-)

這是通過PHP擴展做 - 比如,例如:

  • mysql extension,這是用於與MySQL進行通信,(= 5.2用PHP <)結合的libmysql庫
  • curl extension,這是以防萬一的curl庫的包裝
  • 和許多其他人...


如果您想了解更多關於編寫PHP擴展,這些鏈接可能會感興趣:
(注這不是一件容易的事情 - 但是如果你被要求......好的^^;有些人會說這不是硬)

而且,如果你是真的感興趣的主題,並準備花一些錢,它可以買書Extending and Embedding PHPsome pages are available as preview on Google Books;它被認爲是閱讀本書時,關於這個問題的有興趣的(事實上,我已經買了,前一段時間,並且,在我看來,這的確是一個有趣的閱讀)

順便說一句,筆者這本書也是我鏈接到的前四篇文章的作者;-)

+0

我想這意味着,沒有像python ctypes模塊直接連接C代碼這樣的事情.. 這個SWIG的事情呢? – 2010-04-04 12:52:17

+0

抱歉,不知道SWIG的事情:我聽說過它,但從來沒有使用過它;關於ctypes,我認爲沒有太多:我知道的唯一的東西是FFI(http://pecl.php.net/package/ffi),最後一個版本是2004年的alpha版本...; ;;在PHP中使用外部庫的標準方式是將擴展作爲封裝來編寫。 – 2010-04-04 14:07:07

+0

我明白了。謝謝。 – 2010-04-04 19:48:29

1

寫一個擴展名,將tre暴露給PHP(或者找到一個已經存在的擴展名)。一個好的起點是here

被警告,您將無法在大多數託管服務上加載您的分機。

+0

鏈接已經消失。 Marcelo,你想更新或刪除此答案嗎? – ghoti 2017-05-09 14:32:21

相關問題