Skip to main content

Notes on PHP-FPM and phpredis

I have a Laravel 5.7 project and use redis for some caching. I have problem with redis driver predis vs phpredis. Predis often work well since it more simple (?)  But phpredis not work  (this one faster). This is due to my Dev server not use php-fpm as Production. So I forgot restart php-fpm to reflect phpredis install.

This one reveal some good lessons. 
First, production rarely restart so we have manually restart php-fpm. 
Second, I have often check open port using netstat -pentl (sudo optional)
And I assumed that php-fpm run on TCP port 900 or 900x because I see many setup forlow this way. So when list port open, I do not see 900x and think server not use php-fpm. 
My mistake reveal when I use ps aux  and grep fpm. So ut use default setting, run over Unix socket .sock. Knowing system use php-fpm and I instanly understand why my phpredis install not work.

Third, this is interesting. On the way to investigate why prod server not recognize phpredis. I try raw php and ut seem work well. Have no idea, I try create new laravel project with phpredis driver, and you know what? 
It's also work, but I use php artisan serve to run debug project. And it's different from serve with Apache. Apache use php-fpm, so without restart php-fpm, phpredis driver not take effect. So next time to debug PHP-Apache make sure you have same config.


This issue is one of the problem during our upgrade laravel and optimize something.
Upgrading lavel from 5.7
 to 6.18 LTS (6.2?) have issues with Eloquent relationship... This is another story.

https://stackoverflow.com/questions/33973967/why-do-i-have-to-run-composer-dump-autoload-command-to-make-migrations-work-in

https://apple.stackexchange.com/questions/14163/how-to-configure-terminal-to-be-putty-like-when-it-comes-to-copy-paste-with-mo

select count(distinct `user_id`) as aggregate from `UserFollowData` where `UserFollowData`.`follow_user_id` = '575fcaaa4518e' and `UserFollowData`.`follow_user_id` is not null and exists (select * from `UserData` where `UserFollowData`.`user_id` = `UserData`.`user_id` and `UserData`.`deleted_at` is null);

select count(*) as aggregate from `UserFollowData` where `UserFollowData`.`user_id` = '575fcaaa4518e' and `UserFollowData`.`user_id` is not null and exists (select * from `UserData` where `UserFollowData`.`follow_user_id` = `UserData`.`user_id` and `UserData`.`deleted_at` is null);


yeah dam mis  information:
Running the composer install uses the composer. lock file, which now has the “lock” on all packages you have installed on the project. ... In the case of composer update , it does not use the lock file, instead it uses the composer. json file and updates the packages(if updates have been released in the last 3 months).



Comments

Popular posts from this blog

AWS Elasticache Memcached connection

https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/accessing-elasticache.html#access-from-outside-aws http://hourlyapps.blogspot.com/2010/06/examples-of-memcached-commands.html Access memcached https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/GettingStarted.AuthorizeAccess.html Zip include hidden file https://stackoverflow.com/questions/12493206/zip-including-hidden-files phpmemcachedadmin ~ phpMyAdmin or phpPgAdmin ... telnet mycachecluster.eaogs8.0001.usw2.cache.amazonaws.com 11211 stats items stats cachedump 27 100 https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/VPCs.EC.html https://lzone.de/cheat-sheet/memcached VPC ID Security Group ID (sg-...) Cluster: The identifier for the cluster memcached1 Creation Time: The time (UTC) when the cluster was created January 9, 2019 at 11:47:16 AM UTC+7 Configuration Endpoint: The configuration endpoint of the cluster memcached1.ahgofe.cfg.usw1.cache.amazonaws.com:11211 St...

Notes Windows 10 Virtualbox config, PHP Storm Japanese, custom PHP, Apache build, Postgresql

 cmd => Ctrl + Shift + Enter mklink "C:\Users\HauNT\Videos\host3" "C:\Windows\System32\drivers\etc\hosts" https://www.quora.com/How-to-create-a-router-in-php https://serverfault.com/questions/225155/virtualbox-how-to-set-up-networking-so-both-host-and-guest-can-access-internet 1 NAT + 1 host only config https://unix.stackexchange.com/questions/115464/how-to-properly-set-up-2-network-interfaces-in-centos-running-in-virtualbox DEVICE=eth0 TYPE=Ethernet #BOOTPROTO=dhcp BOOTPROTO=none #IPADDR=10.9.11.246 #PREFIX=24 #GATEWAY=10.9.11.1 #IPV4_FAILURE_FATAL=yes #HWADDR=08:00:27:CC:AC:AC ONBOOT=yes NAME="System eth0" [root@localhost www]# cat /etc/sysconfig/network-scripts/ifcfg-eth1 # Advanced Micro Devices, Inc. [AMD] 79c970 [PCnet32 LANCE] DEVICE=eth1 IPADDR=192.168.56.28 <= no eff => auto like DHCP #GATEWAY=192.168.56.1 #BOOTPROTO=dhcp BOOTPROTO=static <= no eff ONBOOT=yes HWADDR=08:00:27:b4:20:10 [root@localhost www]# ...

Rocket.Chat DB schema

_raix_push_notifications avatars.chunks avatars.files instances meteor_accounts_loginServiceConfiguration meteor_oauth_pendingCredentials meteor_oauth_pendingRequestTokens migrations rocketchat__trash rocketchat_cron_history rocketchat_custom_emoji rocketchat_custom_sounds rocketchat_import rocketchat_integration_history rocketchat_integrations rocketchat_livechat_custom_field rocketchat_livechat_department rocketchat_livechat_department_agents rocketchat_livechat_external_message rocketchat_livechat_inquiry rocketchat_livechat_office_hour rocketchat_livechat_page_visited rocketchat_livechat_trigger rocketchat_message rocketchat_oauth_apps rocketchat_oembed_cache rocketchat_permissions rocketchat_raw_imports rocketchat_reports rocketchat_roles rocketchat_room rocketchat_settings rocketchat_smarsh_history rocketchat_statistics rocketchat_subscription rocketchat_uploads system.indexes users usersSessions https://rocket.chat/docs/developer-guides/sc...