在构建 PHP 扩展后删除 Ubuntu 中的开发包是否安全?

Is it safe to remove dev packages in Ubuntu after the PHP extension was build?

我正在使用 php5 and firebird pdo on ubuntu / debian 服务器配置教程构建 pdo_firebird 扩展。

教程推荐安装一堆扩展:

sudo apt-get install php5-dev firebird2.5-dev php-pear devscripts debget

我检查过 Building extensions using phpize and other chapters from PHP Internals Book,但什么也没找到。

删除已安装的软件包安全吗?什么是最佳实践?

apt-get -y remove --purge php5-dev firebird2.5-dev php-pear devscripts debget
apt-get autoremove -y

构建完成后删除 *-dev 包是安全的。

但只有 *-dev 包,但是删除 *-dev 包也会删除所有作为依赖项自动安装的 *-dev 包。

E. G。 libmcrypt-dev 还会安装 libmcrypt4

sudo apt-get -y install libmcrypt-dev
# run your build commands here ...
sudo apt-get -y purge libmcrypt-dev

将导致:

PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/local/lib/php/extensions/no-debug-non-zts-20151012/mcrypt.so' - libmcrypt.so.4: cannot open shared object file: No such file or directory in Unknown on line 0

所以你需要确保你的库包是单独安装的:

sudo apt-get -y install libmcrypt-dev libmcrypt4
# run your build commands here ...
sudo apt-get -y purge libmcrypt-dev

删除包时通常不会有任何问题,因为即使从源代码编译,它们通常也会遵循安装时习惯的趋势。

尽管删除特定包只会在它们依赖于其他包才能正常运行时造成问题,反之亦然(如果存在任何此类冲突,它也可能会显示此警告)因此使用自动删除就是这样。

为避免这些混淆,稍后单独安装所有包,而不是与它们捆绑在一起的包。