如何在Ubuntu14.04上更改PHP设置

来自菜鸟教程
跳转至:导航、​搜索

介绍

PHP 是许多流行的 CMS 和博客平台(如 WordPress 和 Drupal)使用的服务器端脚本语言。 它也是流行的 LAMP 和 LEMP 堆栈的一部分。 在设置基于 PHP 的网站时,更新 PHP 配置设置是一项常见任务。 找到准确的 PHP 配置文件可能并不容易。 一台服务器上有多个正常运行的PHP安装,每个都有自己的配置文件。 知道要编辑哪个文件以及当前设置是什么可能有点神秘。

本指南将展示如何查看您的 Web 服务器的当前 PHP 配置设置以及如何更新 PHP 设置。

先决条件

对于本指南,您需要以下内容:

使用 PHP 的 Web 服务器配置有很多,但这里有两种常用的方法:

本教程也适用于以下 DigitalOcean One-click Apps:

注意: 本教程假设您运行的是 Ubuntu 14.04。 在其他系统上编辑 php.ini 文件应该是一样的,但文件位置可能不同。


本教程中的所有命令都应以非 root 用户身份运行。 如果该命令需要 root 访问权限,它将在前面加上 sudo

查看 PHP 配置

您可以通过将具有 phpinfo 功能的页面与您的网站文件一起放置来查看实时 PHP 配置。

要使用此命令创建文件,请首先切换到包含您的网站文件的目录。 例如,Ubuntu 14.04 上 Apache 的网页文件默认目录为 /var/www/html/

cd /var/www/html

然后,创建 info.php 文件:

sudo nano /var/www/html/info.php

将以下行粘贴到此文件中并保存:

信息.php

<?php
phpinfo();
?>

注意: 一些DigitalOcean One-click Apps 会自动在web 根目录下放置一个info.php 文件。


当访问您的 Web 服务器 (http://www.example.com/info.php) 上的 info.php 文件时,您将看到一个显示 PHP 环境、操作系统版本的详细信息的页面、路径和配置设置的值。 Loaded Configuration File 行右侧的文件显示了要编辑的正确文件,以更新您的 PHP 设置。

此页面可用于显示您的 Web 服务器正在使用的当前设置。 例如,使用网络浏览器的 Find 功能,您可以搜索名为 post_max_sizeupload_max_filesize 的设置,以查看当前限制文件上传大小的设置.

警告: 由于 info.php 文件显示操作系统、Web 服务器和 PHP 的版本详细信息,因此在不需要时应删除此文件以尽可能确保服务器安全。


修改 PHP 配置

可以编辑 php.ini 文件以更改 PHP 功能的设置和配置。 本节给出了一些常见的例子。

有时 PHP 应用程序可能需要允许更大的上传文件,例如在 WordPress 网站上上传主题和插件。 要为您的 PHP 应用程序允许更大的上传,请编辑php.ini使用以下命令文件( 更改路径和文件以匹配您加载的配置文件。 此示例显示 Ubuntu 14.04 上的 Apache 路径。 ):

sudo nano /etc/php5/apache2/php.ini

控制文件大小上传的默认行是:

php.ini

post_max_size = 8M
upload_max_filesize = 2M

将这些默认值更改为所需的最大文件上传大小。 例如,如果您需要上传一个 30MB 的文件,您可以将这些行更改为:

php.ini

post_max_size = 30M
upload_max_filesize = 30M

其他常见的资源设置包括 memory_limit 设置的 PHP 可以使用的内存量:

php.ini

memory_limit = 128M

max_execution_time,它定义 PHP 进程可以运行多少秒:

php.ini

max_execution_time = 30

当您根据需要配置了 php.ini 文件后,保存更改并退出文本编辑器。

重新启动 Web 服务器以启用更改。 对于 Ubuntu 14.04 上的 Apache,此命令将重新启动 Web 服务器:

sudo service apache2 restart

刷新 info.php 页面现在应该会显示您更新的设置。 完成更改 PHP 配置后,请记住删除 info.php

结论

许多基于 PHP 的应用程序需要对 PHP 配置进行轻微更改。 通过使用 phpinfo 功能,可以轻松找到准确的 PHP 配置文件和设置。 使用本文中描述的方法进行这些更改。