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...

Simulate Fail2ban on Apache request spam with mod_evasive limitipconn ...

https://en.wikipedia.org/wiki/Manchu_alphabet https://en.wikipedia.org/wiki/Sweet_potato https://en.wikipedia.org/wiki/New_World_crops https://www.mdpi.com/journal/energies http://www.cired.net/publications/cired2007/pdfs/CIRED2007_0342_paper.pdf https://www.davidpashley.com/articles/writing-robust-shell-scripts/ trap command https://en.wikipedia.org/wiki/Race_condition https://unix.stackexchange.com/questions/172541/why-does-exit-1-not-exit-the-script exit 1 not work it seem { } brace bound fixed it. cat access_log | cut -d ' ' -f 1 > ip1 sort -n -t. -k1,1 -k2,2 -k3,3 -k4,4 | uniq -c | sort -n -r -s https://unix.stackexchange.com/questions/246104/unix-count-unique-ip-addresses-sort-them-by-most-frequent-and-also-sort-them https://stackoverflow.com/questions/20164696/how-to-block-spam-and-spam-bots-for-good-with-htaccess  Code: ------------------------------------------------------------------- #Block Spam Bots and Spam on your website #Block proxies...

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]# ...