Archive

11月 2023

Showing 3 out of total 5

周深出场费现在是多少2023年11月
Author : hou Publish Time : 23 Nov 2023 17:15:19

周深出场费现在是多少2023年11月

据说已经300万了,已经算比较高的水平了,

yii3 如何像yii2 advanced demo一样前端和后台一起开发?
Author : hou Publish Time : 23 Nov 2023 02:36:09

没错,虽然Yii3过了好几年还没有开发出来,我们已经早早的上车了,哈哈,演示程序

https://www.tianex.com

由于我们是最先上车的,开发过程中也是有点小技巧,按照下面的方法可以把几个apps在一起开发,这样可以加快开发速度,部署的时候可以按照需要分开独立部署,(我不清除部署在一起会不会比较耗资源)

 

if you want to  develop multiple yii3 apps in the same folder,just like yii2 advance demo

we have a solution

the idea is filter the url accessed  to the different app(instance) and load different config files

1. move the yii3 demo config files to a subfolder of config ,maybe frontend

if you want to add backend just copy frontend files to backend

if you need the app frontend and backend ,the config should includ 2 subfolders 

config/frontend, config/backend

and modify the .merge-plan.php file in each app config folder

from  

return [
    '/' => [

to 

return [
    '/frontend (or othe app name)' => [

make sure it can load the right vender libs

 

2.modify the public/index.php to forward access to the different apps,

such as https://www.tianexcom/backend to load config/backend config files,

$request_uri = parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH);

$_ENV['YII_ENV'] = '/frontend';
 
if (!empty($request_uri)) {
    if (str_starts_with($request_uri, '/backend')) {
        $_ENV['YII_ENV'] = '/backend';

}

 

to do this, you also need to mody the 

vendor\yiisoft\yii-runner\src\ApplicationRunner.php
 protected function createDefaultConfig(): Config
    {
        return ConfigFactory::create(new ConfigPaths($this->rootPath, 'config'.$this->environment), $this->environment);
    }

 

 

how to fix php 8.1.2 GD image resize rotation problem imagecopyresampled
Author : hou Publish Time : 11 Nov 2023 02:12:46

when upload image and resize images to server, 

some images was rotated by mistake, why the original image is right but the resize image is rotated ?

this was happened when we upload the images which was rotated from the  windows OS 

when we use imagecopyresampled  to generate the resized images, the rotation information was lost (or is the original 'Orientation' when the picture was taken)

so we should use 

 

$exif = exif_read_data($sourceImg);

        if (!empty($exif['Orientation'])) {
            switch ($exif['Orientation']) {
                case 8:
                    $thumb = imagerotate($thumb, 90, 0);
                    break;
                case 3:
                    $thumb = imagerotate($thumb, 180, 0);
                    break;
                case 6:
                    $thumb = imagerotate($thumb, -90, 0);
                    break;
            }
        }
 
to check the 'Orientation'  and rotated it to right  before generate samall images (using 
imagewebp or other format