PyHP
PyHP 3.1
PYHP - это пакет, который позволяет вам встраивать код Python, например, PHP -код в HTML и другие текстовые файлы. Сценарий называется либо конфигурацией веб -сервера, либо в Shebang, и общается с веб -сервером через WSGI.
<?pyhp и ?>exit и sys.exit прекращает сценарий, а не весь серверatexit не вызываются до выключения сервера в режиме WSGIregister_shutdown_functionpyhp-clipyhp-cgipyhp.wsgi.apps Submodulepyhp.wsgi.util$_SERVER как SERVER$_REQUEST как REQUEST$_GET как GET$_POST As POST$_COOKIE как COOKIE$_FILES как FILEShttp_response_codeheaderheaders_listheader_removeheaders_sentheader_register_callback с дополнительным аргументом replace ключевого слова для регистрации нескольких обратных вызововsetcookie с дополнительным аргументом ключевого слова samesitesetrawcookie также с дополнительным аргументом ключевого слова samesiteregister_shutdown_function с обратным порядком выполнения обратного вызова (LIFO)opcache_compile_file , который повышает исключения вместо возврата False , когда компиляция не сбоиopcache_invalidateopcache_is_script_cachedopcache_reset-c или --config cliPYHPCONFIG~/.config/pyhp.toml/etc/pyhp.tomlRuntimeError , если не найденоpyhp.backendspyhp-backend или python3 -m pyhp.backends cli Commands В этом разделе показано, как установить PYHP на ваш компьютер. Если вы хотите использовать сценарии PYHP на своем веб -сайте CGI, вы должны дополнительно включить CGI в свой веб -сервер.
python3 setup.py bdist_wheelPYHPCONFIG или копировать pyhp.toml в одно из местоположений файлов конфигурации, чтобы использовать команды CLIdebian/build_deb.sh в корневом каталоге проекта.sudo dpkg -i python3-pyhp-core_{version}-1_all.debpython3-toml и python3-werkzeug для использования команд CLIpyhp-backend clear будет выполняться при удалении или обновлении, если бэкэнд является кэшем, помните об этом при использовании путей, содержащих ~ для кеша файлаPYHPCONFIG или копировать pyhp.toml в одно из местоположений файла конфигурацииpyhp-* import sys
import re
import tempfile
from wsgiref . simple_server import make_server
from pyhp . compiler import parsers , util , generic
from pyhp . backends . files import Directory
from pyhp . wsgi . apps import ConcurrentWSGIApp
from pyhp . wsgi . proxys import LocalStackProxy
from pyhp . wsgi . interfaces . php import PHPWSGIInterfaceFactory
from pyhp . wsgi . interfaces . phputils import UploadStreamFactory
compiler = util . Compiler (
parsers . RegexParser (
re . compile ( r"<?pyhps" ),
re . compile ( r"s?>" )
),
util . Dedenter (
generic . GenericCodeBuilder ( - 1 )
)
)
interface_factory = PHPWSGIInterfaceFactory (
200 ,
[( "Content-type" , "text/html; charset= " UTF-8 " " )],
None ,
( "GET" , "POST" , "COOKIE" ),
8000000 ,
UploadStreamFactory (
tempfile . gettempdir (),
20
)
)
sys . stdout = proxy = LocalStackProxy ( sys . stdout )
with Directory ( "." , compiler ) as backend :
with ConcurrentWSGIApp ( "tests/embedding/syntax.pyhp" , backend , proxy , interface_factory ) as app :
with make_server ( "" , 8000 , app ) as httpd :
httpd . serve_forever () from wsgiref . simple_server import make_server
import toml
from pyhp . wsgi . util import ConcurrentWSGIAppFactory
config = toml . load ( "pyhp.toml" )
with ConcurrentWSGIAppFactory . from_config ( config ) as factory :
with factory . app ( "tests/embedding/syntax.pyhp" ) as app :
with make_server ( "" , 8000 , app ) as httpd :
httpd . serve_forever ()