分类下相关文章
2020-11-14 · 阅读 6223 · 字数 165
由于 ubuntu 20.04 默认源里没有 php 7.0,需要手动添加源。 Unable to locate package php7.0 $ sudo apt install php7.0 Reading package lists... Done Building dependency tree Reading state information... Done E: Unable to locate package php7.0 添加 php 7.0 源的方法: sudo apt install software-properties-common sudo apt update ...
2020-07-18 · 阅读 4493 · 字数 77
用 ubuntu apt 安装的 composer 版本过低,所以不推荐: > sudo apt install composer > composer -V Composer 1.6.3 2018-01-31 16:28:17 如果去官方下载 https://getcomposer.org/download/,会发现一直无法访问。。。 推荐使用国内阿里云的镜像,https://developer.aliyun.com/composer 下载完成后,执行 > sudo mv composer.phar /usr/local/bin/composer > compose ...
2020-07-18 · 阅读 5842 · 字数 350
为了测试升级 Laravel 6,所以把本地 Windows WSL Ubuntu18.04 开发环境的 PHP 版本升级一下。实际是全新安装,这个新买的笔记本居然一直没有装 PHP。 apt install PHP 7.4 sudo apt-get update sudo apt -y install software-properties-common sudo add-apt-repository ppa:ondrej/php sudo apt-get update sudo apt -y install php7.4 验证版本 安装成功之后,确认一下版本 php -v PHP 7.4 ...
2020-05-15 · 阅读 4163 · 字数 208
今天在一段 PHP 代码中看到一个诡异的写法,即在一个变量名的美元符号前加了个 at 符号 @。 官方文档 https://www.php.net/manual/zh/language.operators.errorcontrol.php PHP 支持一个错误控制运算符:@。当将其放置在一个 PHP 表达式之前,该表达式可能产生的任何错误信息都被忽略掉。 从官方文档,这段代码的对于 @ 符号的使用是错误的。。。 at 符号的使用场景测试 不加 @ 符号: $file = file('non_existent_file'); $name = "keyword at in PHP&q ...
2020-04-30 · 阅读 3313 · 字数 54
今天在线上更新代码后报错: syntax error, unexpected '[' 报错行是: $category_id = explode("-", $category_id)[0]; 测试环境 PHP 5.3 ThinkPHP 3.2.3 修复方法 $items = explode("-", $category_id); $category_id = $items[0]; ...
2020-04-11 · 阅读 4013 · 字数 93
之前没注意这个问题,今天发现通过 foreach 遍历数组时,新增的属性并没有添加到数组中。 foreach ($tags as $tag) { $tag["name"] = "new name"; } 解决方法一 使用 array item 引用 foreach ($tags as &$tag) { $tag["name"] = "new name"; } 解决方法二 foreach ($tags as $index => $tag) { $tags[$index][&q ...
2020-02-19 · 阅读 2684 · 字数 86
在不使用三方库的情况下,例如 guzzle,PHP 发送 HTTP 请求。 方法一 curl $url = "https://api.domain.com/test"; $ch = curl_init(); $timeout = 10; curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout); $rsp = curl_exec($ch); curl_close($ch ...
2020-01-30 · 阅读 5301 · 字数 147
在使用 PHP Laravel 实现博客文章打多标签的功能,输入时标签以英文逗号为分隔符。 但是 PHP 的字符串分割函数 explode 只支持单个分隔符: $tags = explode(",", $tags_str); 这样做不能兼容中文逗号,因为在输入中文标签时很容易误输入中文逗号。 所以使用正则的方式来分割: >>> $tags_str = "php, Kotlin, 安卓, 网站"; => "php, Kotlin, 安卓, 网站" >>> preg_split( "/ ...
2019-11-19 · 阅读 12149 · 字数 70
实在不想查看 ThinkPHP 的文档,所以就使用纯 PHP 的实现,获取请求的域名及协议。 function site_url() { $protocol = (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off' || $_SERVER['SERVER_PORT'] == 443) ? "https://" : "http://"; $domainName = $_SERVER['HTTP_HOST']; return $protocol . $domainName; ...
2019-11-11 · 阅读 4255 · 字数 181
今天在 ThinkPHP 下测试获取 HTTP 请求 POST 数据时,发现无论怎么测试,都获取不到 POST 的数据。 $_POST 为空 php://input 也为空 但是在另外一台服务器上测试,却是正常可以获取到的。 查了半天没有找到问题,好不容易找到一个 Google 的结果,发现确实由于链接跳转引起的问题。 例如: 我测试时,是向 http://www.sunzhongwei.com/api 发送 POST 请求,而实际上 http 的请求会我设置的 nginx 自动重定向到 https 的链接 https://www.sunzhongwei.com/api。这种情况下,ph ...
2019-11-09 · 阅读 5038 · 字数 122
有一段在 PHP 5 下运行正常的代码,放到了 PHP 7.1 环境下执行报错。 报错信息为: Cannot use string offset as an array 代码片段 $data = ‘’; foreach ($_POST as $k=>$v) { $data[$k]['id'] = $k; // 报错 $data[$k]['val'] = I("post.".$k); } 解决方法 将初始化的空字符串替换为 array。 $data = array(); 不明白为啥字符串还有这种谜一样的操作,而且 PHP5 居然还允许 。。。 ...
2019-10-03 · 阅读 6869 · 字数 84
sudo apt update sudo apt-get install software-properties-common sudo add-apt-repository ppa:ondrej/php sudo apt update sudo apt install php7.3-fpm php7.3-mcrypt php7.3-cli php7.3-xml php7.3-mysql php7.3-gd php7.3-imagick php7.3-recode php7.3-tidy php7.3-xmlrpc php7.3-mbstring php7.3-curl 确认安装完成: # ...
2019-08-22 · 阅读 14737 · 字数 145
举个例子,我想用 PHP 从一个给定的 URL 链接中提取查询参数 goods_id 的值。 实现方法 测试用的 PHP 版本:PHP 7.1.20 $product_link = "https://mobile.yangkeduo.com/goods1.html?goods_id=7717242955&page_from=23&share_uin=QXBIHIEFDSK7RH4TRIYMP4BW7E_GEXDA&refer_share_id=30a0099ec95f469e931800d00606d03e&refer_share_uid=403579 ...
2019-08-19 · 阅读 2871 · 字数 273
上周遇到一个低级的 bug,半天没有找到问题所在,今天在蹲坑的时候,不知道为何脑子中想起了这个 bug, 然后突然意识到是否是因为没有进行对象 clone 造成的。 果然,问题就是因为在多次遍历同一个 laravel collection 时,反复对同一个对象的属性进行操作,导致后面的操作覆盖了之前的操作,所以在最终返回结果时,只保留了最后一次的操作结果。 浅复制(shallow copy) $copy_of_object = clone $object; 来做一个测试 <?php class City { public $name; } $c1 = new City; ...
2019-08-13 · 阅读 3823 · 字数 88
对浮点数进行四舍五入 >>> $price = 100.8875; => 100.8875 >>> round($price, 2) // 保留两位小数 => 100.89 >>> round($price, 0) => 101.0 >>> $price = 100.1815; => 100.1815 >>> round($price, 2) // 保留两位小数 => 100.18 >>> round($price, 0) => 100. ...
生活 | 跑步 清单 足球 鲁班 探索 孤独的美食家 驾驶 电视剧 收纳 奶爸 健康 game 电影 周末 |
---|---|
Geek | 健身 Laravel Git Vim MySQL Linux UI Windows SVN 纪录片 管理 Shell 游记 工具 手机 BackboneJS 自建博客 Mac DNS Tornado CDN Django Python AngularJS 理财 前端 Nginx 爬虫 Redis Javascript Browser 浏览器 推广 OAuth CSS PHP Social Networks 安全 运维 创业 杂记 VueJS Android Image IDE Java ReactJS 数据分析 SQLite RESTful 读书笔记 家电 ecshop Vagrant wordpress docker SEO GTD magento mongodb nodejs weex 冷知识 ruby iOS 微信小程序 AI CMS 快应用 backpack 广告联盟 OA 短信 UWP Win CSharp Tampermonkey graphviz 钉钉 WPS 数据字典 微信公众号 Fuchsia Adobe XD SQL Server thinkphp 代码规范 商业模式 Flutter 头痛的问题 serverless 视频制作 国际化 golang 服务器 Kotlin 网站建设 5G 笔记本 图片 spark spring 物联网 InfluxDB 图像识别 postgre rust |
成长的烦恼 | 闲言碎语 待产 不睡觉 写作 程序员 孙心然语录 原则 大鸿语录 |
地球 | 植物 时间 中文 赚钱 国家地理 烟台 一生伏首拜阳明 emoji 弟子规 英文 国际贸易 |