Как я могу написать собственное расширение PHP, которое может изменить внутреннюю часть интерпретатора PHP? - PullRequest
4 голосов
/ 14 ноября 2011

Можно ли написать расширение PHP (UNIX, CGI SAPI), где я могу:

  • переопределить реализацию функции PHP (как с mail (): во многих программах PHP используется стандартФункция mail () - я не могу изменить это, так как клиенты хотят использовать это, конец истории ... - но мне нужно переписать это, так как в среде chroot () невозможно порождать процесс sendmail - мне нужноСвязь на уровне сокетов, которая не является стандартным SMTP или между прочим)
  • «остановить» интерпретатор PHP (чтобы я мог делать другие вещи для себя) перед выполнением фактического анализа / выполнения сценария PHP, но после выполнения ВСЕХработа по инициализации (загрузка расширения, разбор INI-файла и т. д.), назовем его «перед обработкой PHP-скрипта» или около того:)
  • принудительно анализирует INI-файл (путь сгенерирован / определен мной), который можетпереопределить все настройки, которые были установлены ранее (если они вообще были)

В настоящее время я изменил сам исходный код PHP, но это уродливо и, возможно, опасно.л, было бы неплохо, если бы я мог сделать это как расширение PHP, ну, по крайней мере, с чем-то, похожим на расширение PHP :), поэтому мне не нужно изменять «основной PHP» ...

Большое спасибо заранее!

Ответы [ 2 ]

3 голосов
/ 14 ноября 2011

В Интернете довольно много статей и ссылок на Howto, объясняющих основы Hello World и не только.* Удачи.

у.е. Роман

2 голосов
/ 14 ноября 2011

Относительно пунктов 2 и 3:

  • «Перед обработкой скрипта php» уже существует в виде опции php.ini auto_prepend_file.
  • Вы можете использовать .user.ini для переопределения определенных параметров ini
...