分类目录归档:PHP

iOS凭据(小票)验证库(PHP版)

ios-iap-php

iOS支付验证

install

composer require sn01615/apple-iap-php

use

use sn01615\iap\ios\Verify;

include "../vendor/autoload.php";

$cc = new Verify();

$receipt = ".."; // 凭据

$cc->endpoint(true);// 可选切,换到沙盒环境

$cc->setPassword('123');// 可选,如果是连续订阅需要密码

$vv = $cc->query($receipt);

// 打印结果
var_dump($vv);

GITHUB: https://github.com/sn01615/apple-iap-php

ERROR: failed to open error_log (/usr/local/var/log/php-fpm.log): Read-only file system (30)

PHP7报错Read-only file system (30)

当你照着 此文 安装好PHP,并做好systemd服务管理文件,你会发现用systemctl start php-fpm 无法正常启动php-fpm 报了一个很奇怪的错。
ERROR: failed to open error_log (/usr/local/php/var/log/php-fpm.log): Read-only file system (30)
此时,selinux是关闭状态,普通用户对这个文件也可写,问题就迷离了。
解决方法:
打开 /usr/lib/systemd/system/php-fpm.service 把
ProtectSystem=true
改成
ProtectSystem=false

当这个值为true的时候,php-fpm进程将以只读的方式挂载 /usr 目录,这就是问题所在。具体可参考
https://www.freedesktop.org/software/systemd/man/systemd.exec.html#ProtectSystem=

https://hqidi.com/154.html

或者修改日志文件路径也可以解决这个问题

在 CDATA 节中找到无效的 XML 字符 (Unicode: 0x1f)

https://blog.csdn.net/dufufd/article/details/53895764

在 CDATA 节中找到无效的 XML 字符 (Unicode: 0x1f)

String could not be parsed as XML

解析XML文件时,会碰到程序发生以下一些异常信息: 

在 CDATA 节中找到无效的 XML 字符 (Unicode: 0x1f)。

或者:

An invalid XML character (Unicode: 0x1f) was found in the CDATA section.

这些错误的发生是由于一些不可见的特殊字符的存在,而这些字符对于XML文件来说又是非法的,所以XML解析器在解析时会发生异常,官方定义了XML的无效字符分为三段: 

0x00 – 0x08

0x0b – 0x0c

0x0e – 0x1f

解决方法是:在解析之前先把字符串中的这些非法字符过滤掉即可, 不会影响原来文本的内容。

即:string.replaceAll(“[\\x00-\\x08\\x0b-\\x0c\\x0e-\\x1f]”, “”) ;

# php 版过滤方法
$content2 = preg_replace(‘/[\\x00-\\x08\\x0b-\\x0c\\x0e-\\x1f]/mu’, ”, $content);

另外:这些字符即使放在CDATA中仍然解析不了,所以最好的办法是过滤掉。

正则零宽断言

https://blog.csdn.net/u010801439/article/details/77921037

零宽断言表示匹配字符的时候再添加一些定位条件,使匹配更精准。

  • \w+(?=ing) 匹配以ing结尾的多个字符(不包括ing)
  • \w+(?!ing) 匹配不是ing结尾的多个字符
  • (?<=re)\w+ 匹配以re开头的多个字符(不包括re)
  • (?<!re)\w+ 匹配不是re开头的多个字符
  • (?<=\s)\d+(?=\s) 匹配两边是空白符的数字,不包括空白符

本文参考:https://www.w3cschool.cn/rxoyts/l17fcozt.html

正则表达式30分钟入门教程:

https://deerchao.cn/tutorials/regex/regex.htm

php编译问题

configure: error: jpeglib.h not found.

yum -y install libjpeg-devel

configure: error: xpm.h not found.

yum install libXpm-devel -y

configure: error: freetype-config not found.

yum install freetype-devel -y

configure: error: Unable to locate gmp.h

yum install gmp-devel -y