In Zone webhosting I have several apps under one account. WordPress websites use PHP 7.4 (as WP does not support php 8). But my Laravel apps use PHP 8.
I can choose php version for server. For example:
laravel-app.mydomain.com – this uses php 8.0
wordpress.mydomain.com – this uses php 7.4
If I need to use command line interface (cli) then php version is always the same that I have set for my main domain settings. If I need to use specific PHP version in cli then I need PHPRC prefix before command of export PHPRC in the beginning of the bash script.
At some point
var_dump in Postman started printing HTML instead of json and made debugging experience worse. I used php artisan serve and suspected that my CLI php is using xdebug. This advice I found helpful.
sudo phpdismod -s cli xdebug – to disable xdebug
sudo phpenmod -s cli xdebug – to enable xdebug
This is how you can disable and enable xdebug from command line. After this that <pre> thing should go away from Postman responses.
As I use composer packages more and more I need to switch between php versions used in terminal. Some notes here for myself.
which php – where php is installed
php -v – which php is currently in use in terminal
ls -la /usr/bin/php* – which php versions are installed in the system
Install php on Ubuntu
sudo update-alternatives --config php – see options and switch between versions.
For installation I took commands from this instruction.
sudo apt install software-properties-common
sudo add-apt-repository ppa:ondrej/php
Install php7.4 with few common PHP modules (also Digital Ocean post)
sudo apt-get install -y php7.4 php7.4-cli php7.4-json php7.4-common php7.4-mysql php7.4-zip php7.4-gd php7.4-mbstring php7.4-curl php7.4-xml php7.4-bcmath
Digital Ocean gives following suggestions for packages:
sudo apt-get install -y php8.1 php8.1-cli php8.1-common php8.1-mysql php8.1-zip php8.1-gd php8.1-mbstring php8.1-curl php8.1-xml php8.1-bcmath
For uninstalling just use:
sudo apt remove php7.4 etc or the
php -m to list all loaded PHP modules.
sudo apt autoremove
Composer broke down
StackOverflow solution and install composer the old way.
3rd year IT student in search of an internship
5th semester at school is pretty much over by now. Only one small assignment to do on upcoming
Tuesday Thursday. Hopefully, I will write about the semester at some point.
On Monday I am going to do PHP tests for the internship that I applied for. I am preparing for it at the moment by solving Testdome PHP exercises and PHP interview questions. If I succeed it would be a huge step for me to become a sufficient Magento developer one day.
Continue reading “How to prepare for the TestDome php assessment – my mistakes and tips”
Same question here but I find its answer a bit misleading. My answer would be YES. You need to loop through the whole array to find a specific element and the worst case complexity is O(n). Unless:
- you use associative array and ask the element by its key. Then the search takes constant time O(1).
- you ask element by its index (you know where the element is and you go there directly). Then the search takes constant time O(1).
As I sometimes lock myself out from Facebook I have no idea if any of my friends is having a birthday any time soon. I also already have difficulty remembering ages and birthdays of all my relatives (especially new ones). Before solving my personal CRM needs with Monica I decided to build something myself.
Today I worked on building a small web app using sqlite and php to save/edit/delete birthdays of my friends and family, calculate ages etc.
Most difficult was to figure out how to sort recurring (yearly) events starting from “next upcoming” with single SQL query. But I think I figured it out by using one SQL query followed small php loop (which has worst case complexity of O(n)) to find the place to split an array 🙂
SELECT id, firstname, lastname, birthday,
(current_date - birthday - 1) as age,
substr(birthday, 9, 100) as day,
substr(birthday, 6, 2) as month
ORDER BY month, day;
Hopefully I can get it ready enough at some point for sharing on Github. Something cool for the end: OpenAI has trained a model that can create new images – you just describe them in English. Mindblowing.