Swoole 常见问题

  • 本文不针对 pecl 安装的 swoole,建议也不要使用这个方式安装,因为这种方式安装的 swoole 无法自定义编译选项
  • 一个稳定的 PHP5 版本,虽然已经支持 PHP7 了,但似乎还有暗坑,建议使用 PHP5.6
  • 一个稳定的 swoole 版本,使用带有 stable 的版本,由于 swoole 还在不断完善中,每个版本都会有 bug 的解决,所以请使用 2.0 以下的最新 stable 版本

Swoole 扩展编译失败,如何解决

  • 某些依赖未安装,如 openssl, libcompress 之类,按提示安装就好,swoole 提示可能不会很明显
  • 权限问题,swoole 源码目录不要使用 windows 挂载的目录

如何查看是否已经安装成功

// 通常情况下,编译安装成功,swoole.so 会添加到默认扩展目录下,目录查看/php-path/bin/php-config --extension-dir

// 此命令会输出 swoole 版本及默认配置,如果没有输出或者报错,则说明扩展仅仅编译成功,未启用
php --ri swoole

// 某些情况下,你的 php-fpm和php-cli使用的不是同一个php.ini// php-fpm 查看php.ini配置路径,请使用phpinfo函数// php-cli 查看 php.ini 配置路径
php --ini|grep "Loaded"// 输出的路径如果和phpinfo中的路径一致,则表示使用的同一个php.ini,反之则不是,启用扩展时请选择正确的配置文件

扩展已经安装成功,但运行提示 ‘xxx‘ class not found

// 前提是你扩展安装并启用成功,也就是说你是通过命令行运行的文件
php filename.php
// 命令行下 swoole 已经启用
php --ri swoole
// 在输出注意输出中有一项 use_namespace,如果此项为1,则需要使用命令空间// swoole_server => \Swoole\Server// 在确认扩展启用无误的情况下,class not found 都是这个原因造成的

服务端已经启动,客户端连接不上

  • 请检查防火墙规则
  • 如果使用的虚拟机,请检查端口映射是否已经添加

提示 SWOOLE_SSL 常量未定义

// 查看swoole编译选项 openssl 是否为 enable状态
php --ri swoole
时间: 2024-12-07 17:42:38

Swoole 常见问题的相关文章

TP5.1+原生swoole完美整合,解决常见问题

1. 在tp框架根目录下建立server\http_server.php文件 <?php use Swoole\Http\Server as HttpServer; $http = new HttpServer("127.0.0.1", 8811); $http->set([ 'worker_num' => 5, 'enable_static_handler' => true, 'document_root' => '/home/buinar/www/sw

PHP常见问题及解答

当作PHP学习时,总是会在baidu上查很多的例如开发环境的选择呀,PHP好不好呀!或者是不是转学JAVA,或是.NET等: 首先本人是从2010年下半年开始报名学的PHP(IN Guangzhou),每周一天学了近6个月左右,从最基础的HTML,CSS,DIV,JAVASCRIPT,AJAX,PHP,然后学二次开发:闲暇之余还开通了一个个人blog( PHP wordpress); 由于个人工作原因,这几年放了一段时间未动PHP了,今年开始又自学了.NET; ---目的就想业余做一份兼职,锻炼

微信JS-SDK说明文档及常见问题处理

概述 微信JS-SDK是微信公众平台面向网页开发者提供的基于微信内的网页开发工具包. 通过使用微信JS-SDK,网页开发者可借助微信高效地使用拍照.选图.语音.位置等手机系统的能力,同时可以直接使用微信分享.扫一扫.卡券.支付等微信特有的能力,为微信用户提供更优质的网页体验. 此文档面向网页开发者介绍微信JS-SDK如何使用及相关注意事项. 使用说明 在使用微信JS-SDK对应的JS接口前,需确保公众号已获得使用对应JS接口的权限,可登录微信公众平台进入“开发者中心”查看对应的接口权限. 注意:

php安装swoole扩展

编译安装 Swoole扩展是按照php标准扩展构建的.使用phpize来生成php编译配置,./configure来做编译配置检测,make进行编译,make install进行安装. 请下载releases版本的swoole,直接从github主干上拉取最新代码可能会编译不过 如果当前用户不是root,可能没有php目录的写权限,安装时需要sudo或者su 如果是在git分支上直接git pull更新代码,重新编译前务必要执行make clean 安装准备 安装swoole前必须保证系统已经安

[PHP] swoole在daemonize模式下,chdir失效问题

swoole version: 1.9.6 其实跟swoole的版本无关,因为原代码体系,fpm模式下,在启动的时候,是使用 chdir 函数改变了当前目录的,而其它代码在做类的自动加载的时候,都是写的相对地址,而不是绝对地址. 问题就来了,swoole是多进程的,在daemonize模式下,chdir改变当前目录,在其它进程下是不生效的,所以有时候,不使用daemonize没问题,而使用daemonize会莫名的出现找不到类的情况. 解决方法是,在几个启动的回调里面同时也改变一下目录 $ser

NHibernate常见问题及解决方法

NHibernate常见问题及解决方法 曾经学过NHibernate的,但是自从工作到现在快一年了却从未用到过,近来要巩固一下却发现忘记了许多,一个"in expected: <end-of-text> (possibly an invalid or unmapped class name was used in the query)."错误查了好半天终于查到了.这篇文章是我转载的NHibernate的常见错误... hbm.xmlNHibernate文件中版本号可能引起的

NTB调试常见问题指南

作为实现不同PCI域乃至跨节点数据传输的重要器件,NTB在服务器和存储领域实现双控.内存互访等方面发挥着重要的作用.由于它本身既作为virtual port出现,又可以被互联的结点通过pci scan看到,作为一个link port出现,加之其上实现的地址转换和转发功能,在实际工程项目中,难免会碰到各种问题.本文结合笔者最近的工作,分享了NTB调试过程中常见的问题和解决思路和办法. 从问题的现象来看,具体常见问题包括: 找不到NTB设备: NTB mailbox无法传送数据: ReqID 无法探

SpringMVC + spring3.1.1 + hibernate4.1.0 集成及常见问题总结

一 开发环境 1.动态web工程 2.部分依赖 java代码: hibernate-release-4.1.0.Final.zip hibernate-validator-4.2.0.Final.jar spring-framework-3.1.1.RELEASE-with-docs.zip proxool-0.9.1.jar log4j 1.2.16 slf4j -1.6.1 mysql-connector-java-5.1.10.jar hamcrest 1.3.0RC2 ehcache 2

转:Web页面通过URL地址传递参数常见问题及检测方法

Web页面即我们在浏览器中所看到的网页,在Web应用程序中,其页面往往需要进行动态切换和数据交互,页面间的数据常规传递方法有多种,本文主要介绍Web页面处理程序中常见的URL地址参数传递方法,包括概述其实现原理.特点和常见问题,最后介绍检测该方式常见应用问题的测试思路和方法. 1.web页面的概念 Web是internet上一个非常重要的资源信息网,产生于20世纪90年代初,它遵循超文本传输协议,以超文本或超媒介的形式传送各种各样的信息,为用户提供了一个具有友好的图形化界面--Web页面,以便用