An error occurred during the signature verification. The repository is not updated and the previous index files will be used. GPG error: http://repo.mysql.com/apt/ubuntu focal InRelease: The following signatures couldn’t be verified because the public key is not available: NO_PUBKEY 467B942D3A79BD29
Quite interesting story, we have website running WordPress with two noticed problems:
After making call to REST API it return valid JSON response (debugged in Postman) but when trying raw json_decode in PHP it fail.
In PHP, after echoing (readfile) random file into client (wget), SHA1 sum of file on server and downloaded does NOT match, but content of downloaded file is exactly the same (tested via FileMerge)
Opening downloaded file in PHPStorm does not reveal any special characters in downloaded or original file
Trying this malformed CURL command reveal hidden from naked eye problem.
curl -d "auth=something" -X POST https://somewebsite.com/index.php\?rest_route\=/plugin/route/test --trace-ascii --
In front of JSON data there is UTF-8 BOM code (\ufeff) (it’s being ignored by most of application but not all, it should never be present in JSON response since encoding is send in HTTP header – some code is ignoring it, some will fail on decode JSON and thread it as invalid syntax.
When we know what to look for, we need scan all PHP files on server and locate ( 0xEF, 0xBB, 0xBF ) string in root website directory using following command:
grep -rlI $’\xEF\xBB\xBF’ .
From result ignore anything that is not .PHP since those files can have BOM and not directly parsed via PHP interpreter.
Download those PHP file and examine with “HexEditor” reveal BOM before PHP code that is being send along ANY content served from PHP.
Cleaning file from “BOM” mark (on MAC):
sed $’1s/\xef\xbb\xbf//’ < in8sync-customization.php > clean-in8sync-customization.php
Compare two files together to make sure only BOM is removed.
Upload cleaned file in original location and repeat process if there is more than one. Be happy fixing unusual issue!!
Recently I have interesting issue of not being able to access my network shares on AirPort Time Capsule from Windows 10.
Pinging Time Capsule was successfull but trying access in file explorer (\\ip-address\untitled\share) cause unknown error.
Problem was caused by disabled SMB 1.0/CIFS File Sharing Support by default in Windows 10 that make it unable to connect. Reason of SMB being disabled is obsolete and have security issues but in my opinion this is not problem in trusted home network where all devices are our’s.
To enable support for SMB 1.0/CIFS File Sharing You need to open PowerShell with elevated permissions (run as administrator) and execute following command:
Recently I have interesting problem with Valet using wrong PHP version on my Laravel application, trying to switch it from terminal not fix issue and stating it’s already done even including force relink.
valet use firstname.lastname@example.org –force Unlinking current version: email@example.com Linking new version: firstname.lastname@example.org Updating PHP configuration… Restarting email@example.com… Restarting nginx… Valet is now using firstname.lastname@example.org.
Solution for this problem was using following command
valet use email@example.com –force
After that Valet use correct PHP version in my application.