Tag: PHP
在多时写程式都会用 Unix Timestamp 储存时间,好处是可以很简单作日期计算,以及用不同格式显示日期。 以前储存在 MySQL 的日期时间,会撷取后用 PHP 的 date() 函式显示,但 MySQL 已经内置了用作换算 Unix Timestamp 的功能,用起来很方便,以下记录一下用法。 UNIX_TIMESTAMP() — 取得目录 Unix Timestamp: 以前习惯在 PHP 用 time() 函式插入 Unix Timestamp 到 …
我喜欢用 RHEL 及 CentOS 的最主要原因, 是因为 Redhat 对产品的支援周时长达 10 年, 对于生产环境的主机这点很重要, 不用经想准备为系统作升级。但 CentOS 有一个缺点, 就是默认的套件版本较旧, 像 PHP 版本, 除非手动编译原代码安装, 否则可能到系统的生命周期完结, 也不会作主要升级。 现在 CentOS 7.3 的默认 PHP 版本为 5.4.16, 要在 …
Shell Script 对日常系统维护很实用,对于多用户系统,Shell Script 经常面对一个问题是重复执行,即一个 Shell Script 正在执行时,避免另一个使用者执行。另一个情况是,当 Shell Script 变得复杂及庞大时,放到 crontab 定时执行时 (例如每分钟执行一次),Shell Script 还未完成上次的执行,就重复自动执行一次。 要防止 Shell Script 重复执行,一般上会用 lock file 及 PID 的方法,不论是 lock file 还是 PID,除了用 …
当 Nginx 发生 504 Gateway Time-out 时, 一般上原因是一些程式执行需时较长时间, 当执行时间超出 Nginx 的限制时, 便会出现 504 Gateway Time-out 问题, 如果排除了程式上的问题, 解决方法是将执行时限延长 (或者升级主机的硬件也可以)。 首先开启 Nginx 的网站设定档, Nginx 将网站设定档都放在 /etc/nginx/ 目录下, 下面以 www.phpini.com 为例: …
现在 PHP 其中一个很大的问题, 是很多个不同的 PHP 版本都有人使用, 对于开发者需要顾及程式码是否可以在不同版本执行, 而对系统管理员, 就要面对不同程式可能需要不同 PHP 版本。 以下记录一下在系统安装不同 PHP 版本, 并可以按需要设定不同 Virtualhost 或目录, 可以使用不同 PHP 版本的方法, 以下会以 CentOS 7 及 Apache 作为安装环境。 首先在系统用 YUM 安装好 …
以下是安装 MySQL 后可以尝试的优化项目,建议逐样项目修改,以检视每个项目的优化成效,而大部份的设定可以在运行中 MySQL 设定,不用重新启动 MySQL。 innodb_buffer_pool_size: 这个设定是 innodb 储存引擎数据库,所使用的资料及索引快取,根据内存的大小䀆量设定大一点,可以减低读取资料时从硬盘读取的次数。如果是独立的 MySQL 服务器,可以这样设定: 系统 8GB 内存: 5GB – 6GB 系统 32GB 内存: 20GB – 25GB 系统 128GB 内存: 100GB – …
今天将一台 CentOS 6 服务器内所有网站,輚移到另一台 CentOS 7,转移过程连同档案权限, owner 及 group 都一同复制,测试后发现多数网站都运作正常,唯独有用 PHP 建立的档案及目录便有写入失则的问题。 查看了档案的权限是正确的,但用 “ls -l” 查看那些出问题的档案及目录,看到 owner 不是显示 “apache”, 而是显示 “80”, 原来 CentOS 6 时 Apache 帐号的 uid 是 …
一般讲法是每四年就有一年是闰年, 但这个讲法只符合大部份的闰年, 有些年份还是不会每四年一闰的。 在求学时期学写程式时, 就写过这样的程式, 很简单检查该年是否闰年, 而闰年的规则有 2 条: 1. 年份可以被 400 整除, 是闰年. 2. 年份不能被 100 整除, 但可以被 4 整除, 是闰年. 现在很多程式语言也不用测试上面的规则, 因为程式语言的开发者已经写好, 例如 PHP 的 date() 函式, …
很多情况需要在 CLI 下执行 PHP, 例如要执行 /root/my-script.php, 只要执行以下指令便可以: # php /root/my-script.php 在默认的情况下, 执行以上 PHP script 时, 会跟着默认的 php.ini 有着相同的设定。在 Apache 还好, 可以用 php_admin_flag 设定个别 VirtualHost, 但在 CLI 就不可以用 php_admin_flag 设定了。 …
要用 PHP 连接 MongoDB 数据库, 需要先安装 PHP Mongo Driver, 以下文章会以 CentOS 为例, 透过 EPEL 安装 PHP Mongo Driver, 并用 PHP 连接 MongoDB 数据库, 示范新增、修改及删除资料。 先加入 EPEL Repl: 执行指令安装 PHP …