php分割字符串
preg_split('/(?<!^)(?!$)/u','这是一条测试');
preg_split('/(?<!^)(?!$)/u','这是一条测试');
今天研究了下https环境配置 比我想象的简单许多 步骤如下
1首先去阿里云搜索ssl ca证书 一个账号可以免费申请20个 一个绑定一个域名 期限为1年
2然后按照点击验证 等候Symantec验证
3验证通过后点击下载
4下载后解压缩文件会得到pem和key 这两个需要放到你服务器上
5接下来你需要如下配置nginx
server {
listen 443 ssl default;
server_name www.baidu.com;
root /mnt/www/baidu/public;#你的项目入口
ssl on;
ssl_certificate /etc/ssl/www.baidu.pem;
ssl_certificate_key /etc/ssl/www.baidu.key;
keepalive_timeout 70;
server_tokens off;
fastcgi_param HTTPS on;
fastcgi_param HTTP_SCHEME https;
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
access_log /var/log/nginx/baidu.log access;
error_log /var/log/nginx/err_baidu.log error;
index index.php index.html;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location /app {
add_header 'Access-Control-Allow-Origin' '*' 'always';
alias /mnt/www/static_app/public/app-dev;
try_files $uri $uri/ /index.php?$query_string;
}
location /pages/audition/ {
add_header 'Access-Control-Allow-Origin' '*' 'always';
try_files $uri $uri/ /pages/audition/;#需要指向下面的@router否则会出现vue的路由在nginx中刷新出>现404
index index.html index.htm;
}
location /pages/pages/ {
add_header 'Access-Control-Allow-Origin' '*' 'always';
try_files $uri $uri/ /pages/pages/;#需要指向下面的@router否则会出现vue的路由在nginx中刷新出现404
index index.html index.htm;
}
location ~ \.php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass php-fpm;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
server {
listen 80;
server_name www.baidu.com;
rewrite ^(.*) https://$host$1 permanent;
}
最后是监听80端口把http请求重写到https
brew tap tigerstrikemedia/homebrew-phalconphp
brew install php72-phalcon (按照自己需要的版本 php7就是 php70-phalcon)
vim /Applications/MAMP/bin/php/php7.2.20/conf/php.ini
添加扩展
extension=/usr/local/Cellar/php72-phalcon/3.4.2/phalcon.so
重启MAMP
在phpinfo中发现phalcon 就说明安装成功
接下来安装phalcon 官方命令行工具
进入htdocs git clone https://github.com/phalcon/phalcon-devtools.git
获得phalcon-devtools文件夹
cd phalcon-devtools 复制phalcon 为phalcon.php
设置环境变量
ln -s /Applications/MAMP/htdocs/phalcon-devtools/phalcon.php /usr/local/bin/phalcon
设置权限
chmod +x /usr/local/bin/phalcon
重启终端
phalcon commands 查看是否安装成功
接下来是大坑 如果你用的是集成环境 并且没有把mac自带的php环境变量指向mamp中的时候就会报
ERROR: Phalcon extension isn't installed, follow these instructions to install it:
执行
brew link php@7.2
echo 'export PATH="/usr/local/opt/php@7.2/bin:$PATH"' >> ~/.bash_profile
echo 'export PATH="/usr/local/opt/php@7.2/sbin:$PATH"' >> ~/.bash_profile
需要把如上两行写入 ~/.bash_profile文件 (如果没有就新建)
修改后执行source ~/.bash_profile (如果不可以就先切换到~ 然后执行source bash_profile)
执行 php -v 和 which php检测是否成功
phalcon project demo --enable-webtools
public function collectionPage($datas,$filters){
$datas_count = $datas->count();
switch ($filters['sort_by']){
case "DESC":
$datas = $datas->sortByDesc($filters['sort'])->forPage($filters['page'],$filters['limit']);
break;
case "ASC":
$datas = $datas->sortBy($filters['sort'])->forPage($filters['page'],$filters['limit']);
break;
default:
$datas = $datas->sortBy($filters['sort'])->forPage($filters['page'],$filters['limit']);
break;
}
$datas = $datas->values()->all();
$option = [
"path" => URL::full(),
"pageName" => "page",
];
return new LengthAwarePaginator($datas,$datas_count,$filters['limit'],$filters['page'],$option);
}
php artisan make:command BanjiGradeId --command=run:banji:grade_id
解决办法,清空redis key keys *:timer
//添加一个request字段,customer_id
request()->offsetSet('customer_id', $customer->id);
/**
* 递归树形结构分类函数
* $data 数组记录
* $pid 父id
* $level 级别
* $pre 前置html(可以是空格)
*/
function getArrArea($data,$pid=0,$level=1,$left=" ┗━") {
$catArr = array();
foreach($data as $cat) {
if ($cat['pid']==$pid) {
$cat['level'] = $level;
if($level>1)
$cat['name'] = $left.$cat['name'];
$catArr[] = $cat;
$catArr = array_merge($catArr,$this->getArrArea($data,$cat['new_category_id'],$level+1," ".$left));
}
}
return $catArr;
}
git强制覆盖:
git fetch --all
git reset --hard origin/master
git pull
git强制覆盖本地命令(单条执行):
git fetch --all && git reset --hard origin/master && git pull
git reflog --date=local | grep admin_wst