PyHP
PyHP 3.1
PYHP es un paquete que le permite incrustar el código de Python como el código PHP en HTML y otros archivos de texto. La configuración del servidor web o un shebang o se comunica con el servidor web a través del servidor web a través de WSGI.
<?pyhp y ?>exit y sys.exit termina el script, no todo el servidoratexit no se llaman hasta el cierre del servidor en modo WSGIregister_shutdown_functionpyhp-clipyhp-cgipyhp.wsgi.appspyhp.wsgi.util$_SERVER como SERVER$_REQUEST como REQUEST$_GET como GET$_POST como POST$_COOKIE como COOKIE$_FILES como FILEShttp_response_codeheaderheaders_listheader_removeheaders_sentheader_register_callback con un argumento de palabras clave replace adicional para registrar múltiples devoluciones de llamadasetcookie con un argumento de palabras clave samesite adicionalsetrawcookie también con un argumento adicional de palabras clave samesiteregister_shutdown_function con la orden de ejecución de devolución de llamada invertida (LIFO)opcache_compile_file que plantea excepciones en lugar de devolver False cuando falla la compilaciónopcache_invalidateopcache_is_script_cachedopcache_reset-c o --config cliPYHPCONFIG~/.config/pyhp.toml/etc/pyhp.tomlRuntimeError si no se encuentrapyhp.backendspyhp-backend o python3 -m pyhp.backends Esta sección le muestra cómo instalar PYHP en su computadora. Si desea utilizar scripts PYHP en su sitio web por CGI, debe habilitar adicionalmente CGI en su servidor web.
python3 setup.py bdist_wheelPYHPCONFIG Environ o copie pyhp.toml en una de las ubicaciones de archivos de configuración para usar los comandos CLIdebian/build_deb.sh en el directorio raíz del proyecto.sudo dpkg -i python3-pyhp-core_{version}-1_all.debpython3-toml y python3-werkzeug para usar los comandos CLIpyhp-backend clear se ejecutará en desinstalación o actualización Si el backend es un caché, recuerde esto cuando use rutas que contienen ~ para el caché del archivoPYHPCONFIG Environ o copie pyhp.toml en una de las ubicaciones de archivos de configuraciónpyhp-* 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 ()