首页 PHP

根据composer.lock修复composer.json

  • yiqingpeng
  • 2021-11-25
  • 0
  •  
有时候由于某些失误会将composer.json删除或者是编辑错误,导致composer.json丢失或者与vendor目录实际安装包不相符。此时就需要根据实际安装包来修复composer.json了。 幸好,有前辈编写了工具composer-recovery

AWS-S3 PHP API示例

  • yiqingpeng
  • 2021-03-01
  • 0
  •  
function s3upload($file){ global $s3, $bucket, $finfo; $result = $s3->putObject([ 'Body' => $file->content, 'Bucket' => $bucket, 'Key' => "di

Netsuite更新customField, 删除FileCabinet的文件, 高级搜索

//$service = new NetSuiteService(); class CustomRecordSearchAdvancedBuilder{ private static $instance; private $request; private $NSService; private $search; private $pageIn

The problems with long running php scripts

  • yiqingpeng
  • 2020-11-04
  • 0
  •  
Writing a daemon in PHP can be a very attractive prospect. You already have your website written, so you have all of this great code already. You just need it to run and keep track of some data or han

Buffered and Unbuffered queries

  • yiqingpeng
  • 2020-10-31
  • 0
  •  
使用PHP的mysql API从mysql获取超大数据集,比如几百万行的记录,如果使用默认的配置,往往会因为客户端的内存不足而失败。话不多说,直接抄官方的说明。 Queries are using the buffered mode by de

PHP用户输出缓冲区的理解

  • yiqingpeng
  • 2020-10-29
  • 0
  •  
PHP的用户输出缓冲区,它通过调用ob_start()创建,我们可以创建很多这种缓冲区(至到内存耗尽为止),这些缓冲区组成一个堆栈结构,每个新建缓冲区都会堆叠到之前的缓冲区上,每当它被填满或者溢出,都会执行刷新操作

php安装json_post扩展

json_post扩展可以将请求中的json数据(content type 为 application/json 或 text/json)转为$_POST, 在php代码层处理的时候就可以直接用$_POST读取json数据了,避免了使用json_decode进行转化

关于real path cache的问题

  • yiqingpeng
  • 2019-08-27
  • 0
  •  
有一种代码发布的方案是采用变更软链接的方式进行版本切换,比如 release1, release2, ...存放的是不同版本的代码,webroot是一个软链接,指向某一个releaseN. web服务器的Document Root配置为webroot.&nb

mysql api 原生用法示例

  • yiqingpeng
  • 2019-07-02
  • 0
  •  

Composer version signs

  • yiqingpeng
  • 2019-05-22
  • 0
  •  
composer中版本限制符号的含义: 1、>, <, <=, >= 很直观,不必多说。 2、Wildcard(*)  :比如 2.3.* 表示 >=2.3.0 AND <2.4 3、Hyphen(-): 比如 1.0-2.0 表示

define与const定义常量的比较

  • yiqingpeng
  • 2019-04-29
  • 0
  •  
从php5.3.0开始,const除了能在类中定义类的常量之外,还可以在外部定义常量。 那么define与const在定义常量时有哪些异同呢,本文作了如下简单的总结。 相同点: 1、命名规范是一样的。 2、都是全局作用域。&n

Task Manager Script

  • yiqingpeng
  • 2019-04-26
  • 0
  •  
<?php date_default_timezone_set('GMT'); ini_set('memory_limit', -1); if (PHP_SAPI !== 'cli') { header('Status: 400'); exit('Invalid access'); } function println($msg, $

Netsuite-PHP toolkit call Saved Search with joined sublist

  • yiqingpeng
  • 2019-04-17
  • 0
  •  
$nsService->setSearchPreferences($bodyFieldsOnly = false, $pageSize = 10, $returnSearchColumns = true); $search = new \NetSuite\Classes\CustomerSearchAdvanced(); $search->savedSearchId =

include/require(_once)函数理一下

  • yiqingpeng
  • 2019-04-09
  • 0
  •  
include和require差不多,仅有一点不同:当包含的文件不存在时,include发出的是警告,而require是错误。 include包含文件时,对于文件的路径有三种情况: 1、被包含文件的路径是绝对路径时(以根路径开头),没什

strtotime('+1 month')怪异之处

  • yiqingpeng
  • 2019-04-09
  • 0
  •  
使用strtotime函数进行月份上的加减计算时,结果可能并不在意料之中,考察以下代码: echo date('Y-m-d', strtotime('2019-01-31 +1 month')); //Output: 2019-03-03,  //而在MySQL中,DATE_ADD( '2019-

兼容google双因子认证的TOTP算法

/** * 基于时间的一次性密钥生成算法,规则: * 1. 从T0开始已经过的时间,每个TI为一个单位,总数记为C。实践当中用时间戳除以间隔秒数(30S)得到 C. * 2. 使用C作为消息,K作为密钥,计算HMAC哈希值H(定义来

PHP实现base32编码与解码

base64编码大家都不陌生,其实除了base64还有base32,base16。这一系列的编码规则都是差不多。base64的规则可以另行参考。 这里简单地说一下base32的编码规则。base32是将原数据按5个字节分为一组(即 5 * 8 = 40bit

PHP异步执行shell命令

  • yiqingpeng
  • 2018-11-22
  • 0
  •  
/** * 注意要对$cmd过滤非法字符。 */ function execAsync($cmd, $workDir = null){     exec((is_dir($workDir) ? "cd $workDir;" : "") . "nohup $cmd > /dev/null & echo $!", $

PHP类的后期静态绑定

  • yiqingpeng
  • 2018-09-18
  • 0
  •  
主要对比self关键字与static关键字的区别,self永远指向引用它的类,是静态值,static指向调用它的类,是动态值。特别是在单例模式下,在没有彻底理解self与static的情况下,很容易坠入逻辑陷阱。

NetSuite基本操作示例

  • yiqingpeng
  • 2018-09-17
  • 0
  •  
<?php $service = new \NetSuiteService(null_resettable, ['exceptions' => true, 'connection_timeout' => 10]); if (!empty($passporlc_'token')) { $tokenGenerator = new \TokenPassp