PyHP
PyHP 3.1
PYHP는 PHP 코드와 같은 Python 코드를 HTML 및 기타 텍스트 파일에 포함시킬 수있는 패키지입니다. 스크립트는 웹 서버 또는 Shebang의 구성에 의해 호출되며 WSGI를 통해 웹 서버와 통신합니다.
<?pyhp 및 ?> 태그 내에 포함됩니다.exit 및 sys.exit 전체 서버가 아닌 스크립트를 종료합니다.atexit 등록 기능은 WSGI 모드에서 서버 종료 될 때까지 호출되지 않습니다.register_shutdown_function 에 의해 정리 조치를 실행해야합니다.pyhp-cli 명령으로 CLI 스크립트pyhp-cgi 명령을 사용하여 CGI 스크립트pyhp.wsgi.apps 하위 모드를 사용하여 WSGI 서버pyhp.wsgi.util submodule에 포함 된 공장에 의해 건설 될 수 있습니다.SERVER 로서 $_SERVERREQUEST 으로 $_REQUEST$_GET GETPOST 로 $_POSTCOOKIE 로서 $_COOKIEFILES 로 $_FILEShttp_response_codeheaderheaders_listheader_removeheaders_sentreplace 키워드 인수가 포함 된 header_register_callbacksamesite 키워드 인수가있는 setcookiesamesite 키워드 인수와 함께 setrawcookieregister_shutdown_function 이 반대로 콜백 실행 순서 (LIFO)False 반환하는 대신 예외를 제기하는 opcache_compile_fileopcache_invalidateopcache_is_script_cachedopcache_reset-c 또는 --config CLI 인수에 의해 주어진 경로PYHPCONFIG 환경 변수가 가리키는 경로~/.config/pyhp.toml/etc/pyhp.tomlRuntimeError 올립니다pyhp.backends 내부에 포함되어 있습니다pyhp-backend 또는 python3 -m pyhp.backends CLI 명령을 통해 상호 작용할 수 있습니다. 이 섹션에서는 컴퓨터에 PYHP를 설치하는 방법을 보여줍니다. CGI의 웹 사이트에서 PYHP 스크립트를 사용하려면 웹 서버에서 CGI를 추가로 활성화해야합니다.
python3 setup.py bdist_wheel 로 pyhp-core python 패키지를 만듭니다PYHPCONFIG Environ 변수를 설정하거나 pyhp.toml을 구성 파일 위치 중 하나로 복사하여 CLI 명령을 사용하십시오.debian/build_deb.sh 실행하십시오.sudo dpkg -i python3-pyhp-core_{version}-1_all.deb 로 데비안 패키지를 설치할 수 있습니다.python3-toml 및 python3-werkzeug 설치되어 CLI 명령을 사용하는지 확인하십시오.pyhp-backend clear 백엔드가 캐시 인 경우 제거 또는 업그레이드시 실행됩니다. 파일 캐시에 ~ 포함하는 경로를 사용할 때이를 기억하십시오.PYHPCONFIG Environ 변수를 설정하거나 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 ()