Remote Linux server PHP debugging using PhpStorm Xdebug with its port forwarded through SSH tunnel

If your client's site setup is complicated and you don't have time to replicate it in your local machine, your choice is to debug it directly. This article will show steps on how to debug a website's PHP codes remotely in a server with firewall specifically hosted in Linode server running Centos 7 64-bit Linux distribution, PHP-FPM (FastCGI Process Manager) and PHP 7.0 (the server is running multiple PHP versions).

Showing Drupal taxonomy terms' hierarchical structure in Views

This guide will show how to display Drupal taxonomy terms' hierarchical structure in Views. It is assumed that you have already existing setup of your own taxonomy terms hierarchical structure, a content type which has a field referencing your vocabulary with taxonomy terms hierarchical structure and posted nodes of this content type tagged with one of these taxonomy terms.

In this guide we will use the Drupal vocabulary that has the following structure as our example:

Solution to Drupal site's page's URL all contains its root path

I had a Drupal project where the website is hosted in shared web hosting and the issue was all its page's URL contains root path like for example: (this URL should only be if without root path). We know that in shared hosting we don't have control in Apache web server's configuration files but we do only have the .htaccess to do some Apache stuffs. How can we remove the root path /home/roland/public_html from all our Drupal site's URL?

Display list of Drupal contents based on your visitor's state/province/region location in Views (using Smart IP and Location modules) and have a dropdown form available to filter other regions

In this article we will discuss how to setup a View that shows list of contents in a Drupal 7 site that are filtered based on your visitor's state/province/region location with the use of Smart IP and Location contributed modules and expose views filter to have a dropdown form available for visitors to enable them to filter list of contents in other regions. Smart IP module is used to identify Drupal site visitor's geographical location based on his IP address and Location module is used to provide the field and expose the views location filters.


Running PHP 7.0 as one of multiple PHP versions on CentOS 7 using Virtualmin

In connection to my post Running multiple PHP versions on CentOS 7 using Virtualmin, this guide will show how to install additional PHP 7.0 version on CentOS 7 by using the Software Collections and have Virtualmin detect and use it.

Here are the steps:

  1. Login as root to your server's console terminal.

  2. Install the CentOS Linux Software Collections release file:

    yum install centos-release-scl
  3. Install the PHP package:

Solution on how to force re-index your Search API index application

The following codes below will just force to queue the node to your Search API index application batch process. But the actual index execution will not run yet and this depends on how often your cron runs.

// Clear field cache for the node.
cache_clear_all('field:node:' . $node->nid, 'cache_field');

// Reindex the node.
search_api_track_item_change('node', array($node->nid));

If you need to force index your Search API index application, you can use the codes below: