全部文章 > PHP (21篇) 排序: 默认 浏览量 更新时间
  • 原创 PHP7新特性

    PHP手册:https://www.php.net/manual/zh/appendices.php 这里只介绍常用或相对重要的特性。 PHP7.0新特性标量类型声明 现在可以使用下列类型参数:字符串(string), 整数 (int), 浮点数 (float), 以及布尔值 (bool)。 扩充了PHP5中引入的其他类型:类名(object),接口(interface),数组(array)和回调类型(callable)。 可使用多变长参数列表: function sumOfInts(int .... 阅读全文>>

    PHP luoluolzb 浏览623次
  • 原创 解决 Laravel 执行 npm install 出错问题

    在 Laravel 中使用 npm 安装依赖包时会提示 fsevents 包安装出错,这个问题会导致之后执行 npm run dev 之类的命令打包生成前端文件会出错。 问题原因问题是在 Laravel 的 npm 的 package.json 文件依赖中有 cross-env 包,cross-env递归依赖中含有fsevents包,而fsevents包不适用于windows。在windows下安装会出错。从而导致cross-env执行也会出错。 解决办法npm 安装依赖时忽略可选包(加上--n... 阅读全文>>

    PHP luoluolzb 浏览1122次
  • 原创 Windows下安装PHP的memcache扩展

    Windows上PHP集成的软件开发环境如wampp、phpstudy,对于一般的扩展都有,memcache扩展需要自己安装,这里总结一下。 windows下如何安装扩展?windows安装扩展是比较容易的,不需要自己去编译,一般的步骤为: 下载你要安装的php扩展库的dll文件,并放在php安装目录下的ext目录修改php.ini配置文件,加上 extension=xxx.dll 然后你可以在phpinfo()或者使用php -m查看是否已经加载。 安装memcache服务要在php使用me... 阅读全文>>

    PHP luoluolzb 浏览1687次
  • 原创 Linux下安装PHP的memcached扩展

    在PHP中,memcache扩展和memcached扩展是两个不同的扩展,注意区分一下:php的memcache和memcached扩展区别。 使用pecl安装安装 libmemcached: yum -y install libmemcached-devel pecl编译安装: pecl install memcached 修改 php.ini 文件,添加: [memcached] extension=memcached.so 下载源码安装# 下载 cd /usr/local/src pe... 阅读全文>>

    PHP luoluolzb 浏览1279次
  • 原创 Linux设置PHP开机自动启动

    设置开机启动打开: vim /etc/systemd/system/php-fpm.service 写入下面内容: [Unit] Description=The PHP FastCGI Process Manager After=syslog.target network.target [Service] Type=simple PIDFile=/run/php-fpm.pid ExecStart=/usr/local/php/sbin/php-fpm --nodaemonize --fpm... 阅读全文>>

    PHP luoluolzb 浏览777次
  • 原创 隐藏Nginx和PHP版本号

    因为一般来说,软件的漏洞都与版本有关,隐藏版本号是为了防止恶意用户利用软件漏洞进行攻击。 隐藏 Nginx 版本号修改 Nginx 配置文件 nginx.conf,找到http块,在里面添加一行: server_tokens off; 重启 Nginx 后生效。 这里只是隐藏了Nginx 版本号,还可以更进一步,隐藏 Nginx 服务器标志。具体做法可以查看文章末尾的参考文章。 隐藏 PHP 版本号修改 PHP 配置文件 php.ini,找到: expose_php = On 修改为 exp... 阅读全文>>

    PHP luoluolzb 浏览969次
  • 原创 【转】使用PECL安装PHP扩展

    原文:什么是phpize及其用法 - weixin_38674371的博客 - CSDN博客 应用场景:在使用php的过程中,我们常常需要去添加一些PHP扩展库。但是重新对php进行编译是比较蛮烦的,所以这时候我们可以使用phpize对php进行添加扩展。并且phpize编译的扩展库可以随时启用或停用,比较灵活。 使用方法:extention为要挂载的扩展包 wget extension_name.tar.gz 下载相应的扩展包并解压。 cd extension_name/ 切换到扩展exten... 阅读全文>>

    PHP luoluolzb 浏览859次
  • 原创 概念区分:CLI,CGI,FastCGI,PHP-CLI,PHP-CGI,PHP-FastCGI,PHP-FPM

    学习PHP时遇到一些慨念,开始的时候有些分不清,这几天又好好查了一下资料,这里总结一下。 CLICLI 为 Command Line Interface 的缩写,即命令行接口。CLI是在图形用户界面得到普及之前使用最为广泛的用户界面,它通常不支持鼠标,用户通过键盘输入指令,计算机接收到指令后,予以执行。也有人称之为字符用户界面(CUI)。 比如你在windows下使用的cmd,在Linux下使用的shell,就是操作系统提供的CLI。 CGICGI 为 Common Gateway Interf... 阅读全文>>

    PHP luoluolzb 浏览1092次
  • 原创 Hook技术及PHP实现

    目前很多框架和系统基本都加入了Hook功能,如:tp,levavel,wordpres等 。因此也在我的PHP框架加入了Hook模块。 什么是Hook百度百科中的解释: Hook是Windows中提供的一种用以替换DOS下“中断”的系统机制,中文译为“挂钩”或“钩子”。在对特定的系统事件进行hook后,一旦发生已hook事件,对该事件进行hook的程序就会收到系统的通知,这时程序就能在第一时间对该事件做出响应。 虽然这段话说的是windows编程下的,但在PHP中也是类似的。我的理解是:Ho... 阅读全文>>

    PHP luoluolzb 浏览3056次
  • 原创 Linux下安装PHP

    Linux系统下安装php是通过源码编译安装的,今天就来学习一下。 下载 PHP 源码并解压进入官网:https://www.php.net/downloads.php,找到你想要版本的源码的下载链接,我这里选择的是7.2.19。 下载源码cd /usr/local/src wget https://www.php.net/distributions/php-7.2.19.tar.gz 解压源码:tar -zxvf php-7.2.19.tar.gz 配置编译选项先进入源码目录cd php... 阅读全文>>

    PHP luoluolzb 浏览772次
  • 原创 PHP踩坑:BOM文件头

    昨晚将网站迁移到了新服务器上,使用了最新的PHP7.2,安装好后发现登陆页面的验证码无法显示。开始时怀疑是GD库没有安装好,所以重新安装了PHP,但是重新安装了后还是没有解决。折腾了一晚上还是没找到问题。 今天终于找到了问题所在,原因是在使用Xftp上传了代码后,我直接使用了xftp的“记事本编辑”服务器上面的配置文件,而记事本默认保存utf8文件带有BOM头,所以在加载文件的时候,将BOM头输出了,导致图片不能正常显示。 重新上传了一下代码,问题解决了。 我在之前的一个项目中也翻过这个错误,这... 阅读全文>>

    PHP luoluolzb 浏览790次
  • 原创 composer的四种自动加载

    composer中可以配置四种自动加载规则,你可能会熟知其中的一两种,但可能不知道有四种吧?不知道的一起来随我学习吧。 psr-4 自动加载psr-4是目前最新的、最受欢迎的、广泛在各种composer包、PHP框架中使用的自动加载方式。 我这里不说明psr-4的加载规则了,因为官方文档比我说明的更规范、更清楚,如果不知道psr-4可以查看文章末尾的参考文章。 这里只说明怎么在composer.json中配置psr-4自动加载规则: { "autoload": { "ps... 阅读全文>>

    PHP luoluolzb 浏览1882次
  • 原创 PHP开启Opcache

    开启 opcache能有效的提升PHP执行速度,建议在生产环境中开启。 开启 opcache的方法修改 php.ini在 php.ini 找到 opcache 段,修改下面的几行,去掉前面的注释符; [opcache] ; opcache 开关 opcache.enable=1 ; php-cli 模式 opcache 开关 opcache.enable_cli=0 ; opcache 共享内存大小,单位为M opcache.memory_consumption=128 ; 暂存池中字符... 阅读全文>>

    PHP luoluolzb 浏览1054次
  • 原创 PHP对象序列化

    PHP中序列化数据使用的两个方法: serialize() 和 unserialize() 。 对一个自定义对象序列化时,有4个魔术方法和预定义接口Serializable,共3个层级。 魔术方法 _sleep() 和 _wakeup()public function sleep(): array; public function wakeup(); serialize() 函数会检查类中是否存在一个魔术方法 __sleep()。如果存在,该方法会先被调用,然后才执行序列化操作。此功能可以用... 阅读全文>>

    PHP luoluolzb 浏览593次
  • 原创 Windows安装PHP的Redis扩展

    安装步骤去PECL载dll文件:PECL :: Package :: redis,注意要选择和你电脑上的php版本一致的。如果不知道可以用php -v查看。 下载好之后将压缩包里面的php_redis.dll放到php安装目录下的ext目录。 修改php.ini文件,加上: [Redis] extension=php_redis.dll 需要重启 php-fpm/php-cgi。 查看redis扩展然后可以在php -m和phpinfo()里面查看是否加载了redis扩展。 cmd下执行php ... 阅读全文>>

    PHP luoluolzb 浏览1150次