温馨提示×

ubuntu php配置如何加密

小樊
50
2026-09-07 11:37:38
栏目: 编程语言

在 Ubuntu 上“PHP 配置加密”通常有以下几种理解,下面我按常见场景分别说明,你可以对照使用。


一、PHP 源码 / 文件加密(防止代码被看到)

1. 使用 ionCube(最常用,商业)

适合:保护商业 PHP 项目

# 安装 ionCube Loader
sudo apt update
sudo apt install php-cli php-dev

下载 ionCube:

wget https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz
tar -xzf ioncube_loaders_lin_x86-64.tar.gz

配置 php.ini:

zend_extension=/path/to/ioncube/ioncube_loader_lin_8.1.so

加密文件:

ioncube_encoder.sh yourfile.php -o encoded.php

2. 使用 Zend Guard(旧,不推荐)

已停止维护,不推荐新项目使用。


3. 使用 Swoole Compiler(可选)

pecl install swoole_compiler

二、PHP 配置文件(php.ini)内容加密 / 保护

1. 限制 php.ini 权限(最常见)

sudo chmod 600 /etc/php/8.1/cli/php.ini
sudo chown root:root /etc/php/8.1/cli/php.ini

2. 敏感配置不要写进 php.ini

✅ 推荐方式:

// config.php
return [
    'db_password' => openssl_encrypt('secret', 'AES-256-CBC', 'key')
];

三、PHP 中数据 / 密码加密(开发层面)

1. 密码(必须用 password_hash)

$hash = password_hash('123456', PASSWORD_BCRYPT);

验证:

password_verify('123456', $hash);

2. 数据加密(AES)

$key = openssl_random_pseudo_bytes(32);
$data = openssl_encrypt('secret', 'AES-256-CBC', $key);

四、OPcache 防止源码暴露(辅助)

opcache.enable=1
opcache.validate_timestamps=0

五、推荐组合方案(实战)

源码保护:ionCube
配置文件:600 权限 + 外部加密配置
密码:password_hash
敏感数据:AES + 环境变量


如果你能说明:

  • 是想保护 PHP 代码
  • 还是加密数据库密码
  • 还是加密 php.ini 文件

我可以给你更精确的 Ubuntu + PHP 配置示例。

0