Category: PHP
RHEL 及 CentOS 原来使用 rsyslog 管理记录档, 在 RHEL / CentOS 7 开始除了保留了 rsyslog 外, 还加入了 journald。systemd 是一个负责开启, 停止及监察进程状态的服务, 所有经 systemd 启动的服务, systemd 会将包括正常启动, 启动或结束时的问题经由 journald 写入纪录档, 而 journalctl 则是用作查看 …
Memcached 是一套开放源码的分布式内存快取系统, 目前已经有多个网站使用。在网站的应用上, 由于数据库的查询多数是读取, Memcached 先将数据库加以缓存, 那便可以减少数据库的读取, 从而增加效率。Memcached 在 PHP 另一个常用的地方是用作缓存 session。下文会示范在 CentOS 7 安装 Memcached 及 Memcached 的 PHP 模组。 1. 安装 Memcached 在 RHEL 及 CentOS 十分简单, …
在网上很多工具可以检查 IP 所属国家, 大多数都是付费工具, 免费版 IP 的覆蓋率较低, 及只包含基本国家资讯。 今天介绍的是 IP Geolocation API, 虽然它也有收费版, 但这只适用于商用量用户, 免费版提供每日 1,000 个查询, 及不支援 SSL, 其他内容与付费版是一样的。 使用上十分简单, 只要用 GET 请取网页内容就可以, 例如 Google 的 DNS IP …
如果以 UTF-8 编码的 PHP 网页在浏览器出现乱码, 一般都是设定错误编码所致, 要解决分别可以透过 HTML 的 meta tag, PHP Header 及 Apache 进行设定, 以下是解决方法: HTML Meta Tag: 在 HTMl 的 及 加入以下这行, 向浏览器宣告使用 UTF-8 编码: PHP …
GitHub 是十分热门的程式码储存平台, 现在 Google 刚刚将它们的云端程式码储存平台 (Cloud Source Repositories) 测试版投入服务, 功能与 GitHub 相约。 测试版免费提供 500MB 空间储存程式码。 Cloud Source Repositories are fully-featured Git repositories hosted on Google Cloud Platform. This Beta …
PHP 的 CURL 除了可以传送 POST 请求外, 还可以用作上传档案。方法与传送 POST 请求差不多, 只要宣告以 multipart/form-data 模式传送, 以及在传送的值前面加上 “@” 符号, 后面接着是档案的绝对路径, 以下是例子: 上面例子会将 /path/to/file.txt 上传到 http://localhost/path.php, 上传字段名称是 upload_file.
PHP 要撷取远端网页或者传送 GET 请求可以用 file_get_contents() 函式做, 但如果要发送 POST 请求, 例如自动填写表单等, 就可以用 CURL 实现。以下 PHP 的 CURL 模组发送 POST 及 GET 的方法: PHP 传送 GET 请求 如果只是传送 GET 请求, 用 …
一般 PHP 的上传档案方法, 是将上传的档案放到暂存目录, 再复制到指定的目录, 虽然操作上方便, 但问题是储存上传档案的目录必需要有写入权限 (CHMOD 777), 而且不能上传到远端服务器。 要解决以上问题, 我觉得较简单的方法是用 PHP 内建的 FTP 功能, 例如现时 WordPress 的更新功能, 也是透过 FTP 操作。以下会介绍在 PHP 连接到 FTP 上传及下载档案的方法: FTP 下载档案 FTP …
在安装了 phpMyAdmin 后, 如果没有安装 PHP 的 mbstring 模组, 会在 phpMyAdmin 看到以下错误: 找不到PHP内部mbstring编码模组,没有这个模组,phpMyAdmin无法准确地分割双字符文字,而可能产生问题 要解决就要安装 PHP 的 mbstring 模组, 如果 PHP 是用编译源码的方法安装, 只要重新编译一次, 在 ./configure 时加入以下参数: –with-mbstring –enable-mbstring=all 如果是用 Yum 或者 …
PHP 要预防 SQL Injection, 可以用 PHP 内建功能实现, 下面分别是 PDO 及 MySQLi 预防方法: PDO: MySQLi: