PHP安装扩展与编译配置PHP的扩展安装是环境配置的基本操作。从包管理器安装到源码编译今天说说各种方式。检查已安装的扩展。phpfunction listExtensions(): void{$extensions get_loaded_extensions();sort($extensions);echo 已安装 . count($extensions) . 个扩展:\n;foreach (array_chunk($extensions, 5) as $chunk) {echo . implode(, , $chunk) . \n;}}listExtensions();echo \nPDO驱动: . implode(, , PDO::getAvailableDrivers()) . \n;?php.ini的常用配置项。phpfunction getPhpConfig(): array{return [version PHP_VERSION,os PHP_OS,sapi php_sapi_name(),memory_limit ini_get(memory_limit),max_execution_time ini_get(max_execution_time),post_max_size ini_get(post_max_size),upload_max_filesize ini_get(upload_max_filesize),date.timezone date_default_timezone_get(),display_errors ini_get(display_errors),opcache.enable ini_get(opcache.enable),opcache.jit ini_get(opcache.jit),];}print_r(getPhpConfig());?检查扩展是否安装成功。phpfunction checkExtension(string $name): array{$loaded extension_loaded($name);$info [name $name, loaded $loaded];if ($loaded) {$info[version] phpversion($name) ?: 未知;if ($name pdo) $info[drivers] PDO::getAvailableDrivers();if ($name redis) $info[redis_available] true;}return $info;}echo json_encode(checkExtension(pdo), JSON_PRETTY_PRINT) . \n;echo json_encode(checkExtension(mbstring), JSON_PRETTY_PRINT) . \n;?编译安装PHP扩展的基本步骤。bash# 下载扩展源码# wget https://pecl.php.net/get/redis-6.0.2.tgz# tar -xzf redis-6.0.2.tgz# cd redis-6.0.2# 准备编译环境# phpize# ./configure# make# make install# 启用扩展# echo extensionredis.so /usr/local/etc/php/conf.d/redis.iniPHP版本升级检查。phpfunction checkUpgradeReadiness(): array{$issues [];if (version_compare(PHP_VERSION, 8.0, )) {$issues[] 当前版本 . PHP_VERSION . 已停止安全支持;}$recommended [mbstring, pdo_mysql, json, curl, gd, xml, openssl, sodium, bcmath];foreach ($recommended as $ext) {if (!extension_loaded($ext)) {$issues[] 推荐安装扩展: $ext;}}return [php_version PHP_VERSION, issues $issues, ready empty($issues)];}print_r(checkUpgradeReadiness());?PHP的安装和扩展配置是开发环境搭建的基础。生产环境建议用包管理器安装确保安全更新及时。开发环境可以用Docker环境一致性好。