swoole 处理 has already been bound to another coroutine xxx异常

 分享下之前在使用swoole开发项目时遇到的swoole协程问题。swoole 异常信息 P Fatal error: Uncaught Swoole\Error: Socket#37 has already been bound xxxPHP Fatal error: Uncaught Swoole\Error: Socket#37 has already been bound to another coroutine#19895, reading of the same socket in coroutine#19896 at the same time is not allowed in /www/wwwroot/default/vendor/xxx.php:34 Stack trace: xxxxxxxxxx问题分析 从日志看像是同一个Socket链接不能同时存在于不同的协程里面,也就是不能夸协程使用mysql,redis同一条连接对象。问题处理 知道问题就好处理了可以使用swoole channel 实现一个连接池如下:Channelprivate static ...

PHP,解决方案 2022-02-22 PM 1931次 0条

解决使用idea,phpstorm等开发工具git自动变为修改状态

 本文记录解决使用idea,phpstorm等开发工具在windows下提交代码后在linux下同样使用相同工具代码全部变为git修改状态如图。 通过上面的图片我们可以看到标记为修改状态的代码文件什么都没有修改但是因为跨平台出现了git修改状态,经过排查发现是 windows 和 linux 下换行转换的问题。windows下默认idea换行符 windows下默认换行符为 CRLF 格式linux下默认默认idea换行符 windows下换行符为 LF 格式解决跨平台默认idea换行符问题 既然我们找到了问题那么就好解决了我们只需要配置下git拉去或者提交代码时候保持原样或者指定格式即可。提交时转换为 LF 检出时转换为 CRLF (推荐windows)git config --global core.autocrlf true提交时转换为 LF 检出时不转换(推荐unix/mac)git config --global core.autocrlf input提交检出均不转换换行符git config --global core.autocrlf false拒绝提交包含混合换行...

PHP,Linux,解决方案 2022-01-22 AM 1559次 0条

phpstorm配置使用comoposer远程php版本

 在开发环境中我们可以通过 phpstorm 配置使用 comoposer 远程虚拟机的指定版本 php 。配置本地文件和虚拟机文件共享 例如本地 E:\wwwroot = /www/wwwroot使用安装,更新,显示日志 打开compose.json文件这个时候顶部会显示三个可点击文字 install/update/show log 。清理composer缓存 点击 clear Cache 清理 composer 缓存诊断环境 点击 diagnose 诊断 composer 环境模拟更新包 点击 simulate update 模拟更新 composer 包更新composer版本 点击 self-update 更新 composer 版本测试运行composer更新后运行的脚本 配置 composer 静默运行 --no-interaction

PHP,软件工具,Linux 2022-01-04 PM 1379次 0条

phpstorm常用扩展插件

 记录分享常用的phpstorm常用优秀扩展插件。查看PHP中文文档Chinese PHP Documentenv 语法高亮.env files supportGit辅助工具GitToolBox无限重置试用时长IDE Eval Reset时间戳/日期格式互转Magic Time代码优化检查Php Inspections (EA Extended)tp5框架辅助Thinkphp5 Plugin翻译工具TranslationMarkdown解析工具MarkdownIDEA中文语言包chineseIDEA美化主题Material Theme UIcomposer自动检查PHP composer.json supportphp工具箱PHP Toolbox块美化Rainbow Brackets

PHP,软件工具,Linux 2021-12-09 PM 1894次 0条

phpstorm常用设置

 我们可以通过一下 phpstorm常用设置 来增强或者统一团队协作。启动设置 通过启动配置我们可以配置每次启动都可以按照个人喜好进行快捷启动phpstorm。代码格式设置 通过配置代码格式我们可以统一美化个人或者团队代码格式,使代码更加美观。基本设置注释前加空格效果文档,参数对齐效果数组last元素追加逗号ssh配置 通过配置ssh我们可以很方便的在idea内使用虚拟机或者远程服务器等等。ssh配置连接ssh选中刚刚添加的ssh即可然后直接只是用就可以了

PHP,软件工具,Linux 2021-12-04 PM 854次 0条

解决composer内存超出allowedmemorysizeof

 我们在使用 composer update xxx 更新 php 包时或者使用 composer require xxx 下载 php 包时,当composer包过大或者电脑内存太小的时候会就出现内存超出,内存溢出异常 Allowed memory size of xxx 如下PHP Fatal error: Allowed memory size of 1610612736 bytes exhausted (tried to allocate 4096 bytes) in phar:///usr/bin/composer/src/Composer/DependencyResolver/Solver.php on line 223 Fatal error: Allowed memory size of 1610612736 bytes exhausted (tried to allocate 4096 bytes) in phar:///usr/bin/composer/src/Composer/DependencyResolver/Solver.php on line ...

PHP,Linux,解决方案 2021-12-01 AM 1344次 0条

phpstorm下载与激活

 目前 phpstorm 提供市面上常见的三种系统版本。Windows版https://www.jetbrains.com/phpstorm/download/download-thanks.html?platform=windowsLinux版https://www.jetbrains.com/phpstorm/download/download-thanks.html?platform=linuxmacOS版https://www.jetbrains.com/phpstorm/download/download-thanks.html?platform=macphpstorm激活 目前市面上分别有一下四种激活方式付费激活 (强烈推荐)激活插件 (推荐)教育邮箱 (推荐)破解版 (不推荐)破解证书 (不推荐) 其中不推荐购买其他渠道的破解版或破解证书版,很不稳定。激活插件使用详细phpstorm及jetbrains永久免费激活工具插件无限试用使用

PHP,软件工具,Linux 2021-11-19 PM 1965次 0条

phpstorm常用快捷键

 使用phpstorm快捷键由于HTML代码中含有模板标签,为避免解析异常,尽量避免对 Html 文件格式化。优化引入类ctrl+alt+o 优化引入类格式化代码ctrl + alt + l 格式化代码切换大小写ctrl + shift + u 切换大小写展开/折叠所有区块ctrl + shift + + / - 展开/折叠所有区块列出最后打开的文件ctrl + e 列出最后打开的文件切换打开的文件ctrl + tab / ctrl + shift + tab 切换打开的文件行注释ctrl+ / 行注释块注释ctrl + shift + / 块注释函数追踪ctrl + b 函数追踪,同 ctrl + 单击操作动作前进/回退ctrl + alt + 左右箭头 操作动作前进/回退按文件名搜索对应文件所在路径shift +ctrl + r 按文件名搜索对应文件所在路径按类名搜索对应文件所在路径shift + ctrl+ t 按类名搜索对应文件所在路径复制当前文件所在路径shift + ctrl+ c 复制当前文件所在路径打开文件ctrl + Shift + O ...

PHP,软件工具,Linux 2021-11-01 PM 911次 0条

php查找扩展so,dll文件位置方法

 我们在 开发过程 中可能会需要用到一些 第三方 的 php扩展 .so文件 或者 .dll文件 ,有些时候安装的软件多了找到 php扩展存放位置比较困难 ,下面主要记录了 php查找扩展文件位置的方法和路径 。通过php命令行模式查找php扩展文件位置php -r "echo ini_get('extension_dir');"宝塔php扩展存放位置php7.1扩展存放位置/www/server/php/71/lib/php/extensions/no-debug-non-zts-20160303php7.3扩展存放位置/www/server/php/73/lib/php/extensions/no-debug-non-zts-20180731php7.4扩展存放位置/www/server/php/74/lib/php/extensions/no-debug-non-zts-20190902php8.0扩展存放位置/www/server/php/80/lib/php/extensions/no-debug-non-zts-20200930php扩展存放位置注意事项 如果上面 ...

PHP,解决方案 2021-10-13 PM 1200次 0条

php中使用static关键词与self关键词的不同区别

 首先我们要知道 自 PHP 5.3.0 起,php增加了一个叫做 后期静态绑定 的功能,用于在 继承范围内引用静态调用 的类。 这也导致我们在使用 static 关键词和 self 关键词的时候要特别注意一下,否则很有可能会出现 不可预料 的问题。static 与 self 的不同含义self 关键词 调用 取决于定义前方法所在的类 适合我们常规使用逻辑但是它不符合面向对象的设计原则。static 关键词 调用 取决于调用当前方法所在的类 更利于实现多态性。self 和 static 使用测试案例 首先我们创建两个类非别为 A类 和 B类 其中 B类 继承与 A类,两个类中都定义 test静态方法 其中 A类 定义 self_get 和 static_get 方法获取输出 test静态方法 数据用于对比 self 和 static 的不同效果。self 使用测试案例class A { static function test() { echo "This is class ".__CLASS__; } static functi...

PHP 2021-10-12 AM 766次 0条