PyHP
PyHP 3.1
PYHP adalah paket yang memungkinkan Anda untuk menyematkan kode Python seperti kode PHP ke dalam HTML dan file teks lainnya. Skrip dipanggil oleh konfigurasi server web atau shebang dan berkomunikasi dengan server web melalui WSGI.
<?pyhp dan ?>exit dan sys.exit Akhiri skrip, bukan seluruh serveratexit Fungsi terdaftar tidak dipanggil sampai server shutdown dalam mode WSGIregister_shutdown_functionpyhp-clipyhp-cgipyhp.wsgi.appspyhp.wsgi.util$_SERVER sebagai SERVER$_REQUEST sebagai REQUEST$_GET as GET$_POST sebagai POST$_COOKIE sebagai COOKIE$_FILES sebagai FILEShttp_response_codeheaderheaders_listheader_removeheaders_sentheader_register_callback dengan tambahan argumen replace kunci untuk mendaftarkan beberapa panggilan baliksetcookie dengan argumen kata kunci samesite tambahansetrawcookie juga dengan argumen kata kunci samesite tambahanregister_shutdown_function dengan pesanan eksekusi panggilan balik terbalik (LIFO)opcache_compile_file yang meningkatkan pengecualian alih -alih mengembalikan False saat kompilasi gagalopcache_invalidateopcache_is_script_cachedopcache_reset-c atau --config CLIPYHPCONFIG~/.config/pyhp.toml/etc/pyhp.tomlRuntimeError jika tidak ditemukanpyhp.backendspyhp-backend atau python3 -m pyhp.backends perintah cli Bagian ini menunjukkan kepada Anda cara menginstal PYHP di komputer Anda. Jika Anda ingin menggunakan skrip PYHP di situs web Anda oleh CGI, Anda juga harus mengaktifkan CGI di server web Anda.
python3 setup.py bdist_wheelPYHPCONFIG atau salin pyhp.toml ke salah satu lokasi file konfigurasi untuk menggunakan perintah clidebian/build_deb.sh di direktori root proyek.sudo dpkg -i python3-pyhp-core_{version}-1_all.debpython3-toml dan python3-werkzeug diinstal untuk menggunakan perintah CLIpyhp-backend clear akan dieksekusi pada uninstall atau upgrade jika backend adalah cache, ingat ini saat menggunakan jalur yang berisi ~ untuk cache filePYHPCONFIG atau salin pyhp.toml ke salah satu lokasi file konfigurasipyhp-* 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 ()