博文检索 / PHP

客户端使用PHP,请求JAVA服务端,遇到中文编码问题,JAVA收到的参数中文乱码,以下是请求方法: $options = ['pageNum' => $page, 'pageSize' => $pageSize, 'name' => $keyword]; $client = new Client([ 'timeout' => 60, 'headers' => [ &#

1、注册composer、github账号 2、在github上新增项目,并将项目克隆到本地环境 3、进入目录,新增src目录,新建Test.php文件 <?php namespace Stephen; class Test { public function __construct(){ } public function getDate(){ return date('Y-m-d H:i:s'); } } ?>

一、安装PHP: #PHP镜像 docker pull php:7.2-fpm #PHP容器,监听9000端口,映射主机项目目录/data/www docker run --name php -d -p 9000:9000 -v /data/www:/www php:7.2-fpm 二、安装Nginx docker pull nginx docker run --name php-nginx -d -p 80:80 \ -v /data/www:/usr/share/nginx/ht

在Laravel框架中,使用PHP内置的服务器: php artisan serve 结果报错,端口监听失败: Laravel development server started: [Sat Mar 23 21:34:55 2019] Failed to listen on 127.0.0.1:8000 (reason: 以一种访问权限不允许的方式做了一个访问套接字的尝试。) 解决办法: 1、查看 8000 端口是否被占用,

根据经纬度和半径计算经纬度范围: /** * 根据经纬度和半径计算出范围 * @param string $lat 纬度 * @param String $lng 经度 * @param float $radius 半径 单位:m * @return Array 范围数组 */ if (!function_exists('calc_scope')){ function calc_scope($lat, $lng, $radius) { $degree

先说一个题外话: 银联支付接起来,相对有点麻烦,尤其是网上关于银联手机控件支付PHP后端的DEMO少之又少,今天接入银联手机空间支付发起请求的时候,报了个一个错误 {"Invalid request.":""} 一直找不到问题原因,打印请求参数,才发现证书ID certId为null,但接入方法都是用的SDK上的DEMO,证书路径也都配对了,certId怎么会是null呢,一直找不到问题

在写API的时候,经常需要给客户端发送通知,这时候我们需要接入极光推送,后端发送请求到极光,极光再根据服务端发送的数据,推送到相应的设备。 安装方法: composer require jpush/jpush 代码封装: /** * 极光推送 * @param string $title 推送标题 * @param string $message 推送消息 * @param string $users 要

将支付宝的SDK引入到项目目录后,报类重复声明的错误:Cannot declare class,支付宝 SDK PHP 是没有命名空间的,最后研究了很久,在网上找到了网友的解决方法,抱着一试的态度,终于解决了这个问题,现在我将这个问题分享记录一下,实现自动引入。 下载的支付宝SDK有两个目录,aop和lotusphp_runtime,还有一个PHP文件AopSdk.php 在vendor目录下新建alipa

用phpQuery简单实现网页内容爬虫 安装方法: composer require jaeger/querylist 用法: $phpQuery = \phpQuery::newDocumentFile($url); $result = \phpQuery::pq('.art_content', $phpQuery);//.art_content 节点 $string = $result->text();//节点文本内容 $html = $result->html();//

前段时间用Yii2做股票项目,股票项目对实时数据要求比较高,需要用到定时任务,每一秒都会请求新郎股票数据,但crontab定时任务最小单位是分,那如果需要实现秒级定时任务,需要写60次crontab,对于有强迫症的我是不能忍受的,我们可以用脚本实现秒级定时任务。 1.Yii2中定时任务控制器是写在console模块里 2.新建定时脚本crontab.sh #!/bin/bash step=1

百度搜索PHP二位数组排序,得到的方法,千篇一律,都是使用array_multisort方法排序,这个方法是先将需要排序的字段放在一个一维数组里面,然后再使用array_multisort进行排序,但其实PHP有一种更简单的方法,可以对二位数组进行排序: usort($list, function($a, $b){ return strcmp($a['created'], $b['created'])*-1;// -1:降序,1:

一、安装 phpize 和 php-config yum install php-devel 安装后可用 which phpize 和 which php-config 查看安装的路径 二、下载 phpredis wget https://github.com/phpredis/phpredis/archive/develop.zip 三、扩展安装 1.解压缩 develop.zip unzip develop.zip 2.生成使用configure

什么是两步验证? 谷歌两步验证是Google的一种开源技术,给网站提供额外的保护,每次登录账户时,在登录后需要输入Google Authenticator给你生成的6位验证码。 怎么使用? 用法很简单,只需要几行代码就可以轻松实现两步验证 <?php require_once './GoogleAuthenticator.php'; $auth = new GoogleAuthenticator; $

\yii\widgets\ActiveForm类提供了Bootstrap3的表单域,但在Yii2默认表单控件中,它的样式就没有那么美观了,那我们怎么在不修改其表单方法下,修改表单的样式呢?我们可以在ActiveForm::begin中给他一个模板参数“template”,就可以直接修改了表单样式。 <?php $form = ActiveForm::begin([ 'id' => 'msg-form', 'options' =

gii可谓是Yii2中一个神奇的扩展,可以快速帮你生成Model类、CRUD、Module模块、Form表单等,可以在开发上节约很大的时间。 1、在 config/web.php 中配置 if (YII_ENV_DEV) { $config['bootstrap'][] = 'gii'; $config['modules']['gii'] = 'yiigiiModule'; } 2、在入口文件配置,设置为开发环境 defined('YII_ENV

在PHP开发时,读取文件的时候,我们想到的第一个方法是file_get_contents和fopen,但使用这两个方法,需要开启allow_url_fopen,在服务器上配置开启了allow_url_fopen,会存在安全性隐患,所以服务器建议关闭allow_url_fopen,那么,在关闭这个的情况下,我们该怎样读取远程文件内容呢? 好在PHP提供了curl模块,我们可以用curl模块去读取远程文件。

PHP 的动态功能同时也是潜在安全性风险的,它会从网路上的任何位置主动撷取、接收及处理资料。 攻击者可能会试图传送恶意的资料和指令码,并欺骗您的服务器撷取恶意的指令码及执行它们。 攻击者也可能会试图读取和写入您服务器上的档案,以控制网站并利用网站实现自己的目的。 您可以设定PHP 设定来加强PHP 安装的安全性,并协助保护网站防止恶意攻击。 Php.ini 档

Composer 是 PHP 的一个依赖管理工具。它允许你申明项目所依赖的代码库,它会在你的项目中为你安装他们。 安装Composer 安装前请务必确保已经正确安装了PHP。打开命令行窗口并执行 php -v 查看是否正确输出版本号。 1.下载安装脚本(composer-setup.php)到当前目录 2.执行安装过程 3.删除安装脚本 php -r "readfil

Wamp就是Windows Apache Mysql PHP集成安装环境,即在window下的apache、php和mysql的服务器软件。 1. 单击右下角程序图标,选择Apache-->httpd.conf 2.查找DOCUMENTROOT 快速定位,然后找到默认的安装目录下的D:/wamp/www/目录,将它修改为自己的站点目录 3. 重启服务器,选择Restart Al