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 submodule$_SERVER เป็น SERVER$_REQUEST ตาม REQUEST$_GET เป็น GET$_POST เป็น POST$_COOKIE เป็น COOKIE$_FILES เป็น FILEShttp_response_codeheaderheaders_listheader_removeheaders_sentheader_register_callback พร้อมอาร์กิวเมนต์ replace คำหลักเพิ่มเติมเพื่อลงทะเบียนการโทรกลับหลายรายการsetcookie พร้อมอาร์กิวเมนต์คำหลัก samesite เพิ่มเติมsetrawcookie ยังมี samesite คำหลักเพิ่มเติมregister_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 ส่วนนี้แสดงวิธีการติดตั้ง PYHP บนคอมพิวเตอร์ของคุณ หากคุณต้องการใช้สคริปต์ PYHP บนเว็บไซต์ของคุณโดย CGI คุณต้องเปิดใช้งาน CGI ในเว็บเซิร์ฟเวอร์ของคุณเพิ่มเติม
python3 setup.py bdist_wheelPYHPCONFIG environ หรือคัดลอก pyhp.toml เป็นหนึ่งในตำแหน่งไฟล์ config เพื่อใช้คำสั่ง CLIdebian/build_deb.sh ในไดเรกทอรีรากของโครงการsudo dpkg -i python3-pyhp-core_{version}-1_all.debpython3-toml และ python3-werkzeug ได้รับการติดตั้งเพื่อใช้คำสั่ง CLIpyhp-backend clear จะถูกดำเนินการในการถอนการติดตั้งหรืออัพเกรดหากแบ็กเอนด์เป็นแคชโปรดจำไว้ว่าสิ่งนี้เมื่อใช้พา ธ ที่มี ~ สำหรับแคชไฟล์PYHPCONFIG environ หรือคัดลอก pyhp.toml เป็นหนึ่งในตำแหน่งไฟล์ configpyhp-* 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 ()