安装完swoole之后,执行php-m报错的处理方式

使用swoole官网提供的pecl方式安装swoole,中间遇到过缺少依赖类库,根据提示安即可。 安装完成之后把在php.ini文件中添加extension=swoole,然后执php -m看看是否成功加载swoole扩展。 结果报错了。。

看起来这个错误的意思是没找到curl库。  ???  但是明明已经安装了curl啊。然后在php.ini文件中找是否开启了curl,结果发现没有extension=curl。   甚至php -m中列出来的所有扩展,在php.ini文件中都没有列出extension。  这是什么情况?。 然…

centos yum安装PHP或者解决版本冲突

当使用yum安装PHP或者PHP的一些扩展的时候遇到版本不一致问题,比如类似下面这种错误

或者

上面两个示例是在安装PHP扩展php-pear 和PHP的开发工具包php-devel的时候报错了,提示的就是PHP版本导致的软件包冲突。  这种问题产生的原因可能是因为系统默认有一个PHP 5.4的版本,后来又使用yum安装了php7.4的版本,但是yum里面不知道什么原因,还是只认php5.4 ..  。 所以出现这种问题的时候就很恶心。 解决方式如下: remi源…

php的超全局环境变量$_ENV是空的?

出于好奇 打印了下 $_ENV[“USER”] ,结果告诉我没有USER这个环境变量, 然后我在终端执行了一下 env , 明明看到有的 USER=hunter 然后我用 getenv(“USER”) , 妥妥的没问题,可以获取到。 那是怎么回事 ? 查了一下, 看到是因为 $_ENV受到php.ini文件中 variables_order这个选项的控制,这个选项的默认值是GPCS,把它改成EGPCS就可以了。

EGPCS的意思是: E:ENV G:GET P:POST C:COO…

浅谈CSRF攻击

一.CSRF是什么? CSRF(Cross-site request forgery),中文名称:跨站请求伪造,也被称为:one click attack/session riding,缩写为:CSRF/XSRF。 二.CSRF可以做什么? 你这可以这么理解CSRF攻击:攻击者盗用了你的身份,以你的名义发送恶意请求。CSRF能够做的事情包括:以你名义发送邮件,发消息,盗取你的账号,甚至于购买商品,虚拟货币转账……造成的问题包括:个人隐私泄露以及财产安全。 三.CSRF漏洞现状 CSRF这种攻击方式在2000年已经被国外的安全人员提出,但在国内,直到06年才开始被关注,0…

【PHP扩展开发】探索PHP_FUNCTION 宏

发现一篇很不错的PHP扩展开发入门文章,搬来留着。 PHP 的函数 作为 PHPer,我们几乎每天都在写函数,我们一定会好奇,那些 PHP 内置的函数,是长什么样子的。如果写过 PHP 扩展的话,一定知道这个宏:PHP_FUNCTION。在定义一个函数的时候,这样来使用这个宏。例如 array_change_key_case,它的定义是这样的:PHP_FUNCTION(array_change_key_case)。没错,就是这么简单。但是,在这个简单的背后,却没有这么简单。 以test方法为例的转换过程: PHP_FUNCTION(test) => ZEND_FUNCTION(test)…

composer安装依赖慢的解决办法

有时候用composer安装依赖包的时候贼拉慢,即使更换了镜像源也特别慢,这里需要具体说明一下。 两种情况: 1.已经存在composer.lock文件。 2.不存在composer.lock文件。 第一种情况:如果已经存在了composer.lock文件,那么即使更换了镜像源也会非常慢,因为composer.lock文件里面的依赖包网址源还是老的(如果恰好这个源很慢),你执行composer的时候它会自动去这个网址检查这个包的更新情况, 所以就很慢。解决办法是执行:

这样执行的话就只会更新composer.lock文件,而不会…

【转】PHP中闭包Closure::bind详解

最近在看laravel底层代码时 ,发现代码中很多Closure::bind用法,查询各种资料,一直对它的使用一直半解(网上大多都是抄袭教材,解释的不清楚),还好经过我不懈努力,终于弄懂了其中道理。 1、在正式解释前我们先了解一些基础的东西(稍安勿躁,磨刀不误砍柴工。大多说看不懂其用法的人,主要还是基础不牢)。php中 闭包我们也可以叫做匿名函数,匿名函数不了解的可以自行补一下,我这边简单举例:

  2、接着我们来说一下php的public、protected、private三种访问控制模式的区别 public: 公有…

laravel输出原生SQL语句

经常在开发过程中需要看看执行的SQL,所以记录一下。

 

【Swoole系列】nginx、swoole、workerman本地环境性能对比

机器:Macbook Pro  CPU:8核  内存:16G  SSD硬盘 测试工具:ab 测试并发:一共发送1000个请求 ,一共100个客户端 。 PS:本来想把并发数弄大一些,奈何只要调大了就会报错:apr_socket_recv: Connection reset by peer (54),按照网上的资料说是ab的bug,把Apache重新安装就行,然后用新安装的ab替换旧的ab,然并卵。。 依然这个错误,所以就暂时先这样吧。 测试命令: nginx:ab -n1000 -c100 -k http://localhost/test/index.php workerman: ab -n1…

laravel 学习笔记 —— 神奇的服务容器

容器,字面上理解就是装东西的东西。常见的变量、对象属性等都可以算是容器。一个容器能够装什么,全部取决于你对该容器的定义。当然,有这样一种容器,它存放的不是文本、数值,而是对象、对象的描述(类、接口)或者是提供对象的回调,通过这种容器,我们得以实现许多高级的功能,其中最常提到的,就是 “解耦” 、“依赖注入(DI)”。本文就从这里开始。 IoC 容器, laravel 的核心 Laravel 的核心就是一个 IoC 容器,根据文档,称其为“服务容器”,顾名思义,该容器提供了整个框架中需要的一系列服务。作为初学者,很多人会在这一个概念上犯难,因此,我打算从一些基础的内容开始讲解,通过理解面向对象开…