簡體   English   中英

如何編寫可以修改PHP解釋器內部的自定義PHP擴展?

[英]How can I write a custom PHP extension which can modify the internals of the PHP interpreter?

是否可以編寫PHP擴展(UNIX,CGI SAPI),我可以:

  • 重新定義PHP函數的實現(比如mail():許多PHP軟件使用標准的mail()函數 - 我無法改變,因為客戶想要使用它,故事結束...... - 但我需要重寫它,如在chroot()'環境中,不可能產生sendmail進程 - 我需要套接字級通信,這不是標准SMTP或btw)
  • 在執行PHP腳本的實際解析/執行之前,“停止”PHP解釋器(所以我可以為我的其他事做),但是在完成所有初始化工作(擴展加載,ini文件解析等)之后,讓我們調用它“在PHP腳本執行鈎子之前”左右:)
  • 強制解析INI文件(由我生成/定義路徑),它可以重新定義之前設置的所有設置(如果它完全是)

目前我已經修改了PHP源代碼本身,但這很丑陋,也許很危險,如果我可以將它作為PHP擴展來做,那就好了,好吧,至少看起來像PHP擴展:)所以我不喜歡需要修改“核心PHP”......

非常感謝提前!

網上有很多Howto文章和參考資料,解釋了基本的Hello World及其他內容。

祝好運。

羅馬

關於第2點和第3點:

  • php.ini選項auto_prepend_file形式中已存在“之前的php腳本執行掛鈎”。
  • 您可以使用.user.ini覆蓋特定的ini-options

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM