web开发
web开发
3041
###### 这种错误一般在虚拟机跟windows共享文件夹时容易出现
###### 两种解决方式
1. 执行`npm config set bin-links false`
2. npm install时加option `--no-bin-links`
[官方文档](https://docs.npmjs.com/cli/v7/using-npm/config#bin-links)
web开发
1789
理论上适用所有redis的tls连接
[官方文档1](https://github.com/predis/predis/issues/535)
[官方文档2](https://www.php.net/manual/en/function.stream-socket-enable-crypto.php)
最重要的配置
`'crypto_type' => STREAM_CRYPTO_METHOD_ANY_CLIENT`
web开发
2816
git会将文件的可执行权限加入版本控制,其他权限,例如用户、属组、可读、可写,不会加入版本控制。
解决办法:
```bash
git config core.filemode false
```
web开发
1240
迭代器模式通俗的讲是遍历集合的成熟模式,迭代器模式的关键是将遍历集合的任务交给一个叫做迭代器的对象,它的工作时遍历并选择序列中的对象,而客户端程序员不必知道或关心该集合序列底层的结构。它的作用是使所有复杂数据结构的组件都可以使用循环来访问。
对象要实现迭代,需要使这个类实现 Iterator(SPL standard php library标准库提供),这是一个迭代器接口,实现该接口,必须实现以下方法:
current(),该函数返回当前数据项
key(),该函数返回当前数据项的键或者该项在列表中的位置
web开发
1208
默认的PHP的echo、print之类的输出会被缓存,当缓存达到特定的大小或脚本执行结束,或强行刷新缓冲区才会发送到浏览器客户端。
`php.ini`的`outputing_buffer`字段默认是4096,表示缓存的大小,如果大于该值则会像浏览器客户端输出。但是我发现该值不管怎么改(`ini_get('outputing_buffer')`值始终为0),都不会影响输出,即不会有缓存,这里就不去研究为什么了,这里主要想说的是ob相关的函数。
有时我们需要对输出进行严格控制,比如我要输出100k的数据,而且是一次
web开发
1210
string setlocale ( int $category , string $locale [, string $... ] )
设置本地地区信息(地区信息是针对一个地理区域的语言、货币、时间以及其他信息。)
$category可用的常量(这些常量都是php内置,结果都是int型):
LC_ALL - 包括下面的所有选项
LC_COLLATE -排序次序
LC_CTYPE - 字符类别及转换(例如所有字符大写或小写)
LC_MESSAGES - 系统消息格式
LC_MONETARY - 货
web开发
1249
(PHP 5, PHP 7)
ReflectionClass 类报告了一个类的有关信息。
```php
//类摘要
ReflectionClass implements Reflector {
//常量
const integer IS_IMPLICIT_ABSTRACT = 16 ;
const integer IS_EXPLICIT_ABSTRACT = 32 ;
const integer IS_FINAL = 64 ;
//属性
public $name ;
//方法
public __construc
web开发
1071
JavaScript自带的Math.Round()函数返回的是四舍五入后的一个整数,无法精确到小数点后。
Number.toFixed()方法,是保留小数点后面的指定位数。例如:1.005.toFixed(2)返回的是1.00,并没有四舍五入。
这里推荐一个方法:
```js
var number = 1.005;
alert(Math.round(number * 100) / 100);
```
web开发
157
##### 如果你已检查完所有的nginx常用配置,还是报这个错,那可能有一个不太常用的配置容易被忽略,那就是`open_basedir`
###### 如果你的nginx未配置open_basedir或者php.ini中未启用open_basedir,请检查项目根目录是否有一个名为.user.ini的隐藏文件
###### open_basedir相关
```
open_basedir限制php进程不能读取open_basedir设置的目录之外的文件
open_basedir在php.ini和nginx中都
web开发
1135
实现下载远程图片并把它保存到本地有很多方法,比如`file_get_contents`和`copy`方法,如果对方网站设置了防盗链,这些方法就不那么友好了,这里附上使用curl实现下载远程图片并保存到本地的方法。
```php
//方法一
function getImage($url,$save_dir='',$filename='',$type=0){
if(trim($url)==''){
return array('file_name'=>'','save_path'=>'','error'=>1);