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 邮件发送程序。
解决方法:
- 安装 sendmail
- 配置 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 应用能否发送邮件给你。