没有不值得去解决的问题,也没有不值得去学习的技术!

在 Yii 2.0 中,基于函数:file_put_contents,将一个字符串写入文件时,使用 别名 ( Aliases ) 来提升普适性

最终写入的文件名:/mcloud/www/channel-pub-api/console/runtime/qq-tp-transaction-video-sync-1596087411.7955-2004360950.txt。其内容如下。
1、基于函数:file_put_contents,将一个字符串写入文件时,小组内部,在定义要被写入数据的文件名时有各种形式


file_put_contents(Yii::$app->runtimePath . '/cmsTop.log', date('Y-m-d H:i:s') . ' '. $uri . '  ' . var_export($data, true), FILE_APPEND);

$bathPath = Yii::$app->getBasePath();
@file_put_contents($bathPath . '/runtime/responseResult.txt', var_export($url, true)."\n", LOCK_EX);

file_put_contents('/tmp/123', date('Y-m-d H:i:s') . ' bk_create_params' . var_export($data, 1) . PHP_EOL, FILE_APPEND);

file_put_contents('E:/wwwroot/channel-pub-api/console/runtime/upload-asset-image-exec-handler-' . $assetId . '-' . time() . '.txt', print_r($assetId, true));


2、在不同的形式下,存在的问题便是,随着程序运行环境的变化,写入数据的文件名也在在不断变化的。进而导致写入失败。可能是路径问题,也有可能是权限问题。最终决定统一为一种形式。使用 别名 ( Aliases ) 来提升普适性与成功率


file_put_contents(Yii::getAlias('@runtime') . '/qq-tp-transaction-video-sync-' . microtime(true) . '-' . mt_rand()  . '.txt', print_r($qqTransactionServiceHttpTransactionInfoResult, true), FILE_APPEND | LOCK_EX);


3、最终写入的文件名:/mcloud/www/channel-pub-api/console/runtime/qq-tp-transaction-video-sync-1596087411.7955-2004360950.txt。其内容如下。如图1
最终写入的文件名:/mcloud/www/channel-pub-api/console/runtime/qq-tp-transaction-video-sync-1596087411.7955-2004360950.txt。其内容如下。
图1


Array
(
    [transaction_id] => 781154629713605046
    [transaction_status] => 成功
    [ext_err] => 0
    [transaction_err_msg] =>
    [transaction_type] => 文章
    [transaction_ctime] => 2020-07-24 16:32:22
    [article_info] => Array
        (
            [article_title] => 追梦身影·西迁往事之峥嵘岁月
            [article_type] => 视频文章
            [article_abstract] => 追梦身影·西迁往事之峥嵘岁月
            [article_imgurl] => http://inews.gtimg.com/newsapp_ls/0/12144797745_196130/0
            [article_pub_flag] => 发布成功
            [article_pub_time] => 2020-07-24 16:32:22
            [article_id] => 20200724V0MC8V
            [article_url] => http://kuaibao.qq.com/s/20200724V0MC8V00
            [article_video_info] => Array
                (
                    [vid] => e3121ha42ez
                    [title] => 追梦身影·西迁往事之峥嵘岁月
                    [duration] => 00:05:14
                    [desc] => 追梦身影·西迁往事之峥嵘岁月
                    [type] => video
                )

            [article_pid] =>
        )

)


 

PHP / Laravel / Yii2 老项目维护与长期技术支持

如果你的 PHP / Laravel / Yii2 项目已经上线,但遇到原开发离职、Bug 长期无人修复、接口不稳定、性能下降、代码难以接手等问题,可以联系我做一次远程技术排查。

适合以下情况:
✅ 老旧 PHP 系统无人维护
✅ Laravel / Yii2 项目 Bug 修复
✅ 后台管理系统小功能迭代
✅ RESTful API 接口排查
✅ MySQL / Redis / Nginx 性能问题
✅ 长期远程兼职维护

可先从一次小问题开始:
✅ 线上报错排查
✅ 接口异常分析
✅ 慢查询与性能瓶颈定位
✅ 代码结构初步评估
✅ 部署环境与日志检查

如需咨询,请联系我,并注明:PHP 维护咨询

联系方式:
Telegram:@shuijingwan
微信:13980074657
邮箱:shuijingwanwq@gmail.com

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理