PyHP
PyHP 3.1
PYHP est un package qui vous permet d'intégrer le code Python comme le code PHP dans HTML et d'autres fichiers texte. Un script est appelé soit par la configuration du serveur Web ou un Shebang et communique avec le serveur Web via WSGI.
<?pyhp et ?>exit et sys.exit terminez le script, pas l'ensemble du serveuratexit ne sont pas appelées avant l'arrêt du serveur en mode WSGIregister_shutdown_functionpyhp-clipyhp-cgipyhp.wsgi.appspyhp.wsgi.util$_SERVER comme SERVER$_REQUEST comme REQUEST$_GET comme GET$_POST comme POST$_COOKIE comme COOKIE$_FILES comme FILEShttp_response_codeheaderheaders_listheader_removeheaders_sentheader_register_callback avec un argument de mot clé replace supplémentaire pour enregistrer plusieurs rappelssetcookie avec un argument de mot-clé samesite supplémentairesetrawcookie également avec un argument de mot-clé samesite supplémentaireregister_shutdown_function avec l'ordre d'exécution de rappel inversé (LIFO)opcache_compile_file qui soulève des exceptions au lieu de retourner False lorsque la compilation échoueopcache_invalidateopcache_is_script_cachedopcache_reset-c ou --config CLIPYHPCONFIG~/.config/pyhp.toml/etc/pyhp.tomlRuntimeError si elle n'est pas trouvéepyhp.backendspyhp-backend ou python3 -m pyhp.backends Cette section vous montre comment installer PYHP sur votre ordinateur. Si vous souhaitez utiliser les scripts PYHP sur votre site Web par CGI, vous devez en outre activer CGI dans votre serveur Web.
python3 setup.py bdist_wheelPYHPCONFIG ou copiez PYHP.toml sur l'un des emplacements de fichiers de configuration pour utiliser les commandes CLIdebian/build_deb.sh dans le répertoire racine du projet.sudo dpkg -i python3-pyhp-core_{version}-1_all.debpython3-toml et python3-werkzeug sont installés pour utiliser les commandes CLIpyhp-backend clear sera exécuté sur la désinstallation ou la mise à niveau si le backend est un cache, n'oubliez pas cela lorsque vous utilisez des chemins contenant ~ pour le cache de fichierPYHPCONFIG ou copiez PYHP.toml sur l'un des emplacements des fichiers de configurationpyhp-* 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 ()