将 Python 和 PHP 生态系统连接起来
A library for inter-calling Python and PHP.
You can use Python functions and libraries in PHP, or use PHP packages in Python.
Linux/Windows/macOSthreading or async-io featuresPHP 8.1 or later versionpy2php is online utility that will auto-translate python code into PHP code.
Compile and install phpy.so as an extension, and append extension=phpy.so to php.ini.
$os = PyCore::import("os");
echo $os->uname();$transformers = PyCore::import('transformers');
$AutoTokenizer = $transformers->AutoTokenizer;
$AutoModelForSequenceClassification = $transformers->AutoModelForSequenceClassification;
$os = PyCore::import('os');
$os->environ['https_proxy'] = getenv('https_proxy');
$tokenizer = $AutoTokenizer->from_pretrained("lxyuan/distilbert-base-multilingual-cased-sentiments-student");
$model = $AutoModelForSequenceClassification->from_pretrained("lxyuan/distilbert-base-multilingual-cased-sentiments-student");Simply import it as a C++ Mudule.
import phpy
content = phpy.call('file_get_contents', 'test.txt')
o = phpy.Object('redis')
assert o.call('connect', '127.0.0.1', 6379)
rdata = phpy.call('uniqid')
assert o.call('set', 'key', rdata)
assert o.call('get', 'key') == rdataIt creates ZendVM and CPython VM in the process at the same time, and directly uses C functions to call each other in the process stack space.
The overhead is only the conversion of zval PyObject structures, so the performance is very high.
In the benchmark test, we created a PyDict and executed PHP code and Python code to read and write 10 million times respectively.
The performance of phpy writing PyDict with PHP code is 14% higher than the native Python, and the read performance is 25% higher.
More details: docs/en/benchmark.md
暂无开放 Issues,或尚未同步最近议题。