分类目录归档:PHP

PHP 内置的服务器

一般地,PHP 项目需要搭配 Web 服务器一起使用,如最常见的 NGINX 或 Apache。但有些时候,如果急切需要搭建一个 PHP Web 运行环境,但是又没有已安装好的 Web 服务器,此时就轮到 PHP 内置的服务器登场了。
也正因为 PHP 内置服务器可以提供一个便捷 Web 开发环境,很多框架都有提供相应的命令行,如:Yii 的 `yii serve`、Laravel 的 `artisan serve`。虽然十分方便,当然也有需要注意的点。[……]

继续阅读

PHP PDO 持久连接的一些思考和实践

最近查阅 PHP 官方的 PDO 文档
连接与连接管理 发现个有趣的配置:持久化连接。
这一看,感觉像似连接池的东西,脑海中一下子就浮现好几个问题:

  • 持久连接不是可以减少建立数据库连接所产生的消耗,以到达复用连接,提高性能的目的吗,为啥没有默认设置呢?
  • 持久连接可以设置最大连接数吗?
  • 是否存在事务和死锁问题呢?若有应该如何避免呢?

[……]

继续阅读

PHP 编译安装详解

前段时间,想尝试下 PHP 的多线程扩展 pthreads,由于其要求 PHP 启用 ZTS (Zend Thread Safety),
但是笔者所使用的发行版所能安装的 PHP 包都是 non-zts 的,所以只能自行编译和安装 PHP 了。

题外话,貌似基本大多数 Linux 发行版的 PHP 包都是 non-zts 的,比如 Ubuntu、CentOS、Arch Linux 等。
不过据我所知,Arch Linux AUR 有 ZTS 版本的 PHP,传送门可在本文底部相关链接找到。
另外 Gentoo 的话,PHP 默认是 ZTS 的。

[……]

继续阅读

PHP 多进程编程 – 入门

本文将简述如何快速了解 PHP 的多进程编程,并提供实验脚本。

函数

为快速入门,本文只使用多进程的两个函数:pcntl_forkpcntl_waitpid

多进程开发最重要的函数 pcntl_fork,其在当前进程 fork 一个子进程,然后父子进程在 fork 处分别继续向下执行。
这里需[……]

继续阅读