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 1679次 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 1134次 0条

composer常用命令

 本文主要记录整理经常使用到的 composer 命令,以便后期查看composer 查看版本composer --versioncomposer 更新升级到指定版本composer self-update --2 #或 composer self-update --1composer 版本回退命令composer self-update --rollbackcomposer 快速安装更新版本 使用一下命令会自动创建 composer.jsoncomposer require 库名 [版本号]composer 安装时展示详情composer require 库名 [版本号] -vvvcomposer 初始化开发新包composer initcomposer 手动新增配置安装 手动新增 composer.json 文件,然后执行安装composer installcomposer 移除第三方包composer remove xxxx/xxxxcomposer 更新所有依赖 根据 composer.json 中的配置更新所有依赖包composer updatecomposer 更新指...

PHP,其他 2021-09-28 PM 1284次 0条

nginx常用屏蔽规则配置

 nginx 是一个高性能的http和反向代理服务相对于apache更加省内存,目前大部分网站均使用了 nginx 作为 web服务器 nginx虽然非常强大,但默认情况下并不能阻挡恶意访问。 下面我们将讲解下常用的nginx屏蔽规则配置在开始之前,假设已经熟悉 nginx 常用命令,如:停止,重启等操作以及排查 nginx 错误日志,以免出现问题不知所措。nginx 防止文件被下载配置location ~ \.(zip|rar|sql|bak|gz|7z)$ { return 444; } 如果网站数据库导出到站点根目录进行备份,很有可能也会被别人下载,从而导致数据丢失的风险,以上规则可以防止一些常规文件被下载,可根据实际情况调整。nginx 屏蔽非常见蜘蛛爬虫配置if ($http_user_agent ~* (SemrushBot|python|MJ12bot|AhrefsBot|AhrefsBot|hubspot|opensiteexplorer|leiki|webmeup)) { return 444; } 如果我们经常分析网站日志就会发现,一些奇怪的U...

PHP,Linux,解决方案,其他 2021-09-23 PM 1849次 0条

nginx设置缓存请求过期时间

 在web开发中我们常常要用的 nginx 作为高性能的http和反代web服务器,有时候我们需要配置统一的默认缓存配置,这个时候我们就可以通过配置 nginx 设置缓存请求过期时间来实现。设置nginx配置cache-control参数 浏览器如果在过期时间内发现新的文件,则不会使用缓存的数据,而是直接向 nginx 服务器请求新的数据。location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|js|css|html)$ { #禁止缓存,每次都从服务器请求 #add_header Cache-Control no-store; #设置过期时间60秒,60秒过后向服务器重新请求数据 add_header Cache-Control max-age=60; } 配置完以上 nginx 配置后直接重启可能不生效,必须先关闭进程再重新启动。设置nginx配置expires参数 expires 参数优先级比 cache-control 参数低location ...

PHP,Linux,解决方案,其他 2021-09-23 AM 1505次 0条

composer国内镜像源加速与修改

 我们使用 composer 的时候现在包经常很慢很卡这个时候怎么办呢我们只需要修改一下 composer国内镜像源 加速就可以了.目前所有 composer 源有一下这些提供商源站地址备注composerhttps://packagist.orgcomposer官方源站phpcomposerhttps://packagist.phpcomposer.comcomposer中文网源站(推荐使用)aliyunhttps://mirrors.aliyun.com/composer/阿里云源站(推荐使用)tencenthttps://mirrors.cloud.tencent.com/composer腾讯云源站(推荐使用)huaweihttps://mirrors.huaweicloud.com/repository/php华为云源站laravel-chinahttps://packagist.laravel-china.orglaravel源站cnpkghttps://php.cnpkg.orgcnpkg源站sjtughttps://packagist.mirrors.sjtug.s...

PHP,Linux,解决方案 2021-09-18 AM 1194次 0条

composer升级到2.x版本和降级

 经常使用php开发程序的同学应该经常接触并使用过 composer php包管理器,composer 2.0版本已经在 2020年1月份 下旬发布正式发布了,这就意味着composer 1.x版本即将退出 composer 的舞台,但是有很多已经在使用的包依旧是composer 1.x版本,以至于我们在开发过程中需要不断的在两个版本之间切换,下面我们讲一下怎么使用composer升级到的 2.x版本 和回退降级到 1.x版本查看当前 composer 版本 首先我们通过命令行查看当前 composer 版本,我们在命令行输入一下 composer 命令 composer --version 可以看到我的当前版本为 composer 1.10 版本升级 composer 版本 接着我们通过 self-update 升级 composer 版本composer self-update # 或者 composer self-update 2 # 或者 composer self-update --2 可以看到我们已经成功将 composer 升级到 2.1.8 最新版本了compos...

PHP,软件工具,Linux,解决方案 2021-09-18 AM 3994次 0条

php使用swoole框架静态变量,全局变量并发安全问题

 我们在首次使用 Swoole 框架时候发现有三类变量问题需要主要,问题的主要造成因素应该是 Swoole 常驻内容变量内存共享导致的主要有一下三类使用 global 关键词声明的变量使用 static 关键词声明的类静态变量、函数静态变量PHP的超全局变量,包括$_GET,$_POST,$GLOBALS等 这三种类型的变量在 Swoole 模式下都存在并发安全问题Swoole 变量问题 A,B,C三人依次访问设置变量分别为1,2,3程序返回时分别对A,B,C三人的请求进行延迟3,2,1秒按照正常逻辑来看A,B,C三人访问设置的1,2,3那么对应返回的值就是设置的值,但是通过使用swoole发现三人返回的结果为最后一个人设置的值也就是3这种情况就是我们刚才所说的三类变量问题Swoole 全局变量 Global 问题演示 // 数据混乱演示 public function index() { // 并发安全问题,会出现数据混乱 // 第一次访问 http://192.168.100.103:8088/Context/index?i=1 ...

PHP,解决方案 2021-09-11 AM 1307次 0条

php安装使用swoole框架yasd调试debug扩展

Yasd 扩展是 Swoole 官方开发的,一款实时单步骤 Debug 调试工具,可用于断点调试 Swoole 协程环境,支持 IDE 以及 命令行 的实时程序调试。Yasd 官方仓库github : https://github.com/swoole/yasdYasd 官方中文文档github : https://github.com/swoole/yasd/blob/master/README-CN.mdMacOS系统安装boost库brew install boostUbuntu系统安装boost库apt-get install libboost-all-devCentOS系统安装boost库yum install boost boost-devel安装 Swoole 官方Yasd调试扩展 分别有一下有两种安装方式 编译安装 , 直接安装编译 好的 so 文件推荐直接安装编译好的简单,安装速度快。编译安装 Swoole 官方 Yasd调试扩展git clone https://gitee.com/laiwi/yasd.git cd yasdphpize --clean &&...

PHP,软件工具,Linux,解决方案 2021-09-11 AM 2726次 1条

typecho怎么开启debug调试模式

 首先我们找到 typecho 根目录 config.inc.php 文件 然后在里面加上开启调试代码即可typecho开启debug模式define('__TYPECHO_DEBUG__', true); OK typecho开启debug调试模式 完成了,就这么简单...

PHP,解决方案 2021-09-03 PM 2132次 0条