SDB:PHP

跳转至: 导航, 搜索

这个 SDB (Support Database) 页面介绍安装配置 PHP 的常见问题。

PHP 不只用于 Web 服务器,现在有一些命令行和图形化桌面应用也使用 PHP 编写。

安装 php5

目前,PHP 的最新版本是 5.6.x,软件包是 php5。

在 YaST 中搜索并安装软件包: php5

或使用命令行:

sudo zypper install php5

扩展模块

不同的 PHP 应用,比如 WordPress,MediaWiki,需要不同的 PHP 扩展模块才能使用。如果这些应用是下载的压缩包,而不是通过软件包管理器安装的,那么您必须手动安装这些依赖。

如果您不大清楚需要安装哪些模块,可以阅读 PHP 应用的安装需求文档。注意:一些 WordPress 或 MediaWiki 扩展程序可能需要额外的 PHP 模块。

以下是一些最常用的模块,满足 WordPress, MediaWiki, Drupal, phpBB 等系统的基本安装要求。

软件包 说明
apache2-mod_php5 用于 Web 应用程序。这个模块使 Apache Web 服务器可以运行 PHP 脚本。

另一种方法是使用 FastCGI,但配置比较繁琐,不推荐。

php5-bz2 读写 bzip2 压缩文档(*.bz2, *.tar.bz2)。
php5-zlib 读写 gzip 压缩文档(*.gz, *.tar.gz)。这是 GNU/Linux 最常用的压缩文档格式。WordPress 自动更新和安装插件主题,就需要此模块。建议安装。
php5-zip 读写 zip 压缩文档(*.zip)。这是另一种最常见的压缩文档格式,建议安装。
php5-curl
php5-gd 图片压缩,裁剪,格式转换
php5-gettext 使用 GNU Gettext 翻译系统。 WordPress 就是使用这种翻译。
php5-intl 国际化的时间日期格式,货币符号,数字格式等。
php5-json 读取 JSON 数据格式。
php5-mbstring 支持 Unicode 字符的字符串函数。对任何多语言系统都是必要的。
php5-mysql 旧的 MySQL/MariaDB 数据库模块。过去的大部分使用 MySQL/MariaDB 的 PHP 应用都依赖此模块。现在很多已经转到 odbc。
php5-odbc 通用数据库模块。支持多种关系型数据库,但使用方法不同。
php5-opcache 对象缓存,用以提升性能。
php5-openssl 支持 SSL ,主要是 HTTPS。如果您的网站使用 HTTPS,就需要这个模块。
php5-pgsql 旧的 Postgres 数据库模块。
php5-phar 运行,读取和写入 PHP 压缩文件(*.phar)。
php5-sqlite 旧的 SQLite 数据库模块。
php5-tokenizer

发送邮件 - mail() 函数

刚安装好的 php5 是不能发送邮件的。

原因:php5 调用系统的邮件服务发送消息,默认使用 sendmail。而 openSUSE 默认安装的是 exim 邮件发送程序。

解决方法:

  1. 安装 sendmail
  2. 配置 exim

解决方案一:安装 sendmail

sudo zypper install sendmail

因为资源冲突,系统中只能存在一个发件程序,您需要同意删除 exim。

启用 sendmail 服务

sudo systemctl start sendmail
sudo systemctl enable sendmail

安装完成之后,更改发件存储目录的权限。在 openSUSE 中,邮件发送服务的用户是 mail,组是 mail。

sudo chown mail:mail /var/spool/clientmqueue/

这样应该就完成了。测试一下:

sendmail yourname@example.com
Hi, this is a test.
.

最后一行的英文点号(.)用于退出邮件编辑模式并发送。

如果你收到了邮件,说明 sendmail 工作正常。然后再测试一下你的 PHP 应用能否发送邮件给你。