2

PHPy 是一个 PHP 扩展,你可以在 PHP 代码里使用 Python 代码。有些场景下在 PHP 应用程序中集成 Python 功能的情况非常有用。本文将向你展示如何在 Ubuntu 22.04 LTS 上安装 PHPy 并开始使用它。

系统环境

确保你的系统是 Ubuntu 22.04.3 LTS 版本。可以通过运行以下命令来检查:

cat /etc/os-release

如果输出显示 PRETTY_NAME="Ubuntu 22.04.3 LTS",那么就可以继续进行下一步了。

安装必需的软件包

首先需要安装一些必要的软件包,包括 PHP 开发工具、PECL 和 Python 相关的开发文件。在终端中执行以下命令:

sudo apt update
sudo apt install php-dev php-pear libpython3-dev python3.10-dev

这些命令将更新你的软件包列表,并安装 PHP 开发工具、PHP 的 PEAR 包管理器以及 Python 3.10 的开发文件。

安装 PHPy

接下来,我们将安装 PHPy 扩展。在安装之前,我们需要指定 Python 3.10 的配置路径。你可以通过以下命令找到 Python 3.10 的配置路径:

which python3.10-config

现在我们已经准备好安装 PHPy。运行以下命令:

sudo pecl install -f phpy

在安装过程中,你会被询问 Python 配置文件的路径。请按照提示输入正确的路径:

Specify the path of python-config [/usr/bin/python3-config] : /usr/bin/python3.10-config

安装完成后,记得将扩展添加到 PHP 的配置文件中。对于 Ubuntu,你可能需要编辑 /etc/php/8.1/cli/php.ini 文件(假设你的 PHP 版本是 8.1)。在该文件中添加以下行:

extension=phpy.so

重启 PHP-FPM 或 Apache 服务器以应用更改。

使用 PHPy

现在已经成功安装了 PHPy。可以看一个简单的示例,演示在 PHP 中调用 Python 代码。

创建一个名为 example.php 的文件,并在其中输入以下代码:

<?php
echo "Hello from PHP!\n";

// 导入 Python 模块
$py = Py::import('sys');
print_r($py->version);

// 调用 Python 函数
$py_func = Py::evalString('lambda x: x * 2');
echo $py_func(5);
?>

这个脚本会从 PHP 输出一条消息,然后导入 Python 的 sys 模块并打印其版本信息。最后定义一个 Python 函数,该函数接收一个参数并将其乘以 2。

保存文件并在 Web 服务器上运行它,或者直接在命令行中运行:

php example.php

你应该能看到输出的信息和计算结果。


作者: 汤青松
日期: 2024年8月20日
微信: songboy8888


汤青松
5.2k 声望8.3k 粉丝

《PHP Web安全开发实战》 作者