重启了Web 服务器,也确认了实际使用的 php.ini 文件路径没有问题,在phpinfo里还是看到disable_functions里面禁用了system。咋办
时间: 2024-02-26 18:59:02 浏览: 138
一些需要禁用的PHP危险函数(disable_functions)
如果已经确认了实际使用的 `php.ini` 文件路径没有问题,并且已经重启了 Web 服务器,但是在 `phpinfo()` 中仍然看到 `disable_functions` 中禁用了 `system` 函数,有可能是 PHP 配置的缓存或 opcode 缓存的原因。这种情况下,可以尝试清除缓存以及重启 PHP-FPM 进程。
具体的清除方法取决于您使用的缓存或 opcode 缓存扩展。例如,如果使用的是 APCu 扩展,可以通过重启 PHP-FPM 进程来清除缓存:
1. 通过 `ps` 命令查找 PHP-FPM 进程 ID:
```
ps aux | grep php-fpm
```
2. 使用 `kill` 命令终止 PHP-FPM 进程:
```
kill -USR2 <php-fpm-pid>
```
其中 `<php-fpm-pid>` 是 PHP-FPM 进程的 ID。
3. 等待几秒钟,再次访问 PHP 页面,查看 `phpinfo()` 中是否还禁用了 `system` 函数。
还有一种可能是,如果您的 Web 服务器采用了多进程模式(如 Nginx + PHP-FPM),则需要确保所有 PHP-FPM 进程都已经重启。
阅读全文