技术分享 / 后端开发

Laravel整合BootStrap等前端框架

Stephen/文

Laravel提供了对Bootstrap的支持,在Laravel 5.5之后的版本,预设了Bootstrap 4,我们无需再单独引入Bootstrap资源文件,便可在Laravel中引入Bootstrap。 1、Laravel 提供的引导和 vue 脚手架位于 laravel/ui composer 包中,可以使用 composer 进行安装: composer require laravel/ui 2、使用 artisan 命令安装前端脚手架 php artisan ui bootstrap 3、安装完之后,会提示你使用 npm 前端包管理器进行安装及编译,没安装 npm 前端包管理器的需先安装,安装地址:https://nodejs.org/en/ npm install && npm run dev 4、安装编译完成后,会显示安装编译后的css文件和js文件,直接在项目中引入: <link rel="stylesheet" type="text/css" href="/css/app.css"> &

后端开发 09/15 0

Windows安装Neo4j NoSQL图形数据库

Stephen/文

Neo4j是一个高性能的,NOSQL图形数据库,它将结构化数据存储在网络上而不是表中。它是一个嵌入式的、基于磁盘的、具备完全的事务特性的Java持久化引擎,但是它将结构化数据存储在网络(从数学角度叫做图)上而不是表中。Neo4j也可以被看作是一个高性能的图引擎,该引擎具有成熟数据库的所有特性。程序员工作在一个面向对象的、灵活的网络结构下而不是严格、静态的表中——但是他们可以享受到具备完全的事务特性、企业级的数据库的所有好处。 安装方法1.在官网下载zip压缩包,选择Community社区版,Enterprise企业版是收费的,Community社区版已经满足我们的需求。zip压缩包下载下来后,解压到自己想要安装的目录。下载地址:https://neo4j.com/download-center/#enterprise2.配置环境变量PATH,指向到neo4j安装路径的bin目录,我这里是:D:\Program Files\neo4j-community-3.5.8\bin3.打开命令行窗

后端开发 08/10 0

GuzzleHttp Client请求中文乱码的问题

Stephen/文

客户端使用PHP,请求JAVA服务端,遇到中文编码问题,JAVA收到的参数中文乱码,以下是请求方法: $options = ['pageNum' => $page, 'pageSize' => $pageSize, 'name' => $keyword]; $client = new Client([ 'timeout' => 60, 'headers' => [ 'Content-Type'=>'application/x-www-form-urlencoded;charset=UTF-8', 'enctype'=>'multipart/form-data', 'X-Requested-With' => 'XMLHttpRequest', ], ]); $response = $client->request('POST', env('DL_URL').$this->packages_url

后端开发 06/10 2

用composer开发自定义包

Stephen/文

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'); } } ?> 4、composer构建项目 [E:\web\stephen]$ composer init Welcome to the Composer config generator This command will guide you through creating your composer.json config. #项目命名空间 Package name (<vendor>/<name>) [mhzuh/stephen]: cq_stephen/stephen #项目描述 Description []: composer test #作者信息 Author [

后端开发 05/13 0

Docker搭建PHP/Nginx/MySQL/Composer环境

Stephen/文

一、安装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/html \ -v ~/nginx/conf/conf.d:/etc/nginx/conf.d \ --link php:php \ nginx 修改nginx配置 vi ~/nginx/conf/conf.d/nginx.conf server { listen 80; server_name localhost; location / { root /usr/share/nginx/html; index index.html index.htm index.php; } error

后端开发 05/12 0

Docker下用composer国内镜像安装Laravel

Stephen/文

自己在docker拉取了composer镜像,如何在docker上启动composer容器,使用composer国内镜像安装包呢? composer国内镜像和composer安装包的命令就不多说了,我直接说下在docker下的用法 命令: docker run -it -v {宿主机目录}:/app --privileged=true composer命令 因此,docker下composer国内镜像方法: docker run -it -v /data/www:/app --privileged=true composer config -g repo.packagist composer https://packagist.phpcomposer.com docker下composer安装包的命令,以Laravel为例: docker run -it -v /data/www:/app --privileged=true composer create-project --prefer-dist laravel/laravel blog 合并后,docker下composer国内镜像安装Laravel: docker

后端开发 05/11 0

Laravel内置服务无法监听端口:Failed to listen on 127.0.0.1:8000

Stephen/文

在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 端口是否被占用,执行命令: netstat -ano |findstr "8000" 2、找到端口对应 pid ,根据 pid 查找占用端口的程序: tasklist|findstr "6232" 3、查找到是酷狗音乐占用了 8000 端口,然后到任务管理器结束进程 4、或者,更简单暴力的方法,修改内置服务器的端口,不再监听 8000 端口,执行命令: php artisan serve --host=0.0.0.0 --port=8080 5、浏览器打开 htpp://127.0.0.1:

后端开发 03/23 0

PHP之根据经纬度和半径计算范围和距离

Stephen/文

根据经纬度和半径计算经纬度范围: /** * 根据经纬度和半径计算出范围 * @param string $lat 纬度 * @param String $lng 经度 * @param float $radius 半径 单位:m * @return Array 范围数组 */ if (!function_exists('calc_scope')){ function calc_scope($lat, $lng, $radius) { $degree = (24901*1609)/360.0; $dpmLat = 1/$degree; $radiusLat = $dpmLat*$radius; $minLat = $lat - $radiusLat; // 最小纬度 $maxLat = $lat + $radiusLat; // 最大纬度 $mpdLng = $degree*cos($lat * (PI/180)); $dpmLng = 1 / $mpdLng; $radiusLng = $dpmLng*$radi

后端开发 03/20 0

PHP之银联手机控件支付

Stephen/文

先说一个题外话: 银联支付接起来,相对有点麻烦,尤其是网上关于银联手机控件支付PHP后端的DEMO少之又少,今天接入银联手机空间支付发起请求的时候,报了个一个错误 {"Invalid request.":""} 一直找不到问题原因,打印请求参数,才发现证书ID certId为null,但接入方法都是用的SDK上的DEMO,证书路径也都配对了,certId怎么会是null呢,一直找不到问题,后咨询了客服,客服给我发了一个图片,提示用错证书,我还再三向客服确认了是不是那几个证书,确认了问题,也知道报错原因后,决定自己研究SDK代码,后来终于找到了,我犯了一个很傻的错误,由于我用的是docker环境,证书路径居然是用的宿主机的证书路径,然后我把证书路径改为docker容器路径后,终于请求并验签成功了。 银联手机控件支付PHP端接入方法: 1.将下载的PHP SDK代码的sdk目录(PHP Versio

后端开发 03/18 0

MySQL计算经纬度并按距离排序

Stephen/文

很多时候,我们需要通过MySQL查询附近的数据并实现分页 赋值当前用户经纬度 $lng = "";//经度 $lat = "";//纬度 MySQL语句查询 select *,round(ACOS(SIN(({$lat} * 3.1415) / 180 ) *SIN((lat * 3.1415) / 180 ) +COS(({$lat} * 3.1415) / 180 ) * COS((lat * 3.1415) / 180 ) *COS(({$lng} * 3.1415) / 180 - (lng * 3.1415) / 180 ) ) * 6380, 2) distance from user order by distance asc limit 1,10 注: {$lng}:经度 {$lat}:纬度

后端开发 03/18 0

PHP之极光推送DEMO并解决异常报错终止程序的问题

Stephen/文

在写API的时候,经常需要给客户端发送通知,这时候我们需要接入极光推送,后端发送请求到极光,极光再根据服务端发送的数据,推送到相应的设备。 安装方法: composer require jpush/jpush 代码封装: /** * 极光推送 * @param string $title 推送标题 * @param string $message 推送消息 * @param string $users 要推送的用户,[]全推 * @param string $tag tag,客户端用于区分的页面 * @param string $extras 传递给客户端的扩展参数 */ if(!function_exists('jPush')){ function jPush($title, $message, $users=[], $tag=1, array $extras=[]){ if(!$title || !$message || !$users){ return false; } //是否全推,al

后端开发 03/16 0

PHP之alipay SDK命名空间与类重复声明的问题解决

Stephen/文

将支付宝的SDK引入到项目目录后,报类重复声明的错误:Cannot declare class,支付宝 SDK PHP 是没有命名空间的,最后研究了很久,在网上找到了网友的解决方法,抱着一试的态度,终于解决了这个问题,现在我将这个问题分享记录一下,实现自动引入。 下载的支付宝SDK有两个目录,aop和lotusphp_runtime,还有一个PHP文件AopSdk.php 在vendor目录下新建alipay目录,将aop目录复制到alipay目录下(lotusphp_runtime和AopSdk.php不要),打开composer.json,在autoload节点新增: "classmap": [ "vendor/alipay/aop" ] 运行命令行: composer dump-autoload 然后在控制器中编写代码: $aop = new \AopClient(); $request = new \AlipayTradeAppPayRequest(); $request->setBizContent(json_encode($conten

后端开发 03/15 0