温馨提示×

PHP在Ubuntu上的最佳实践

小樊
59
2025-04-27 19:58:04
栏目: 编程语言

在Ubuntu上部署和管理PHP应用程序涉及多个步骤,包括安装、配置、优化和安全性。以下是一些最佳实践:

安装PHP及其扩展

  • 更新系统:首先,确保你的系统包是最新的。
sudo apt update
  • 安装PHP:使用apt安装PHP及其常用扩展。例如,安装PHP 7.4及其MySQL扩展。
sudo apt install php7.4 php7.4-mysql
  • 验证安装:安装完成后,通过运行以下命令验证PHP是否成功安装。
php -v

配置PHP

  • Apache配置
    • 编辑Apache的配置文件(通常位于/etc/apache2/sites-available/000-default.conf),确保已启用PHP模块。
    sudo nano /etc/apache2/sites-available/000-default.conf
    
    • 在配置文件中,确保有以下行:
    <FilesMatch \.php$>
        SetHandler application/x-httpd-php
    </FilesMatch>
    
    • 重启Apache服务器使配置生效。
    sudo systemctl restart apache2
    
  • Nginx配置
    • 在Nginx配置文件中的server块内添加以下内容:
    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
    }
    
    • 确保PHP-FPM正在运行,然后重启Nginx。
    sudo systemctl restart nginx
    

性能优化

  • 启用OPcache:安装并启用OPcache扩展,以提高PHP的执行速度。
sudo apt install php7.4-opcache
echo "zend_extension=opcache.so" | sudo tee /etc/php/7.4/mods-available/opcache.ini
sudo phpenmod opcache
sudo systemctl restart apache2
  • 使用PHP-FPM:相比于Apache的mod_php,PHP-FPM提供了更好的性能和资源管理。
sudo apt install php7.4-fpm
  • 优化配置文件:编辑php.ini文件,根据服务器资源调整参数,如pm.max_childrenpm.start_servers等。

安全性

  • 更新系统和软件包:确保系统和所有软件包都是最新的,以修复已知的安全漏洞。
sudo apt update
sudo apt upgrade
  • 配置Web服务器:使用HTTPS加密数据传输,配置Apache或Nginx。
sudo apt install apache2
sudo a2enmod ssl
sudo systemctl restart apache2
  • 禁用危险函数:在php.ini文件中禁用不需要的PHP函数,如exec()system()等。
disable_functions = exec, system, passthru, shell_exec, popen, curl, fsockopen, file_get_contents, mkdir, rmdir, rename, unlink, chmod, chown, chgrp, date, time, localtime, gmtime, isset, empty, is_array, is_object, is_resource, is_string, is_int, is_float, is_bool, is_callable, assert
  • 限制文件系统访问:使用open_basedir限制PHP可以访问的系统目录。
open_basedir = /var/www/html:/tmp
  • 使用预编译扩展:尽量使用预编译的扩展,而不是从源代码编译,以减少潜在的安全风险。

遵循以上步骤和最佳实践,可以帮助你在Ubuntu上高效、安全地部署和管理PHP应用程序。

0