I'm trying to build a bash script to install the Source Guardian PHP extension however the destination directory is different on every subsequent release of Ubuntu.

Installing PHP5 on Ubuntu 14.04 results in the extensions being stored in /usr/lib/php5/20121212+lfs/, in Ubuntu 15.04 this directory changes, e.g. /usr/lib/20131226/

I've checked /etc/php5/fpm/php.ini and /etc/php5/fpm/php-fpm.conf but neither of these files has any mention of 20121212+lfs or 20131226.

If I place the Source Guardian extension anywhere else, it does not load.

Is there a way to programmatically determine the extension folder?


Maybe you should do this:

php-config --extension-dir

If php-config doesn't exist, then apt-get install php-config if Ubuntu/Debian or yum install php-config if CentOS/Red Hat)

That command will give exact location of your php extension folder.

Don't forget to change your php.ini in order to use extensions.

  • It's not simpler than parsing php -i output and requires an installation of extra software. Why? – cprn Apr 11 at 15:21

You can use this

php -i | grep extension_dir
  • 1
    You might also want to try php -i | grep ^extension_dir as there is also a sqlite3.extension_dir. The caret will match from the beginning of the string only (for those that don't know about regex) which helps if you're using the output somehow – Stuart H Jun 21 at 11:59

You can find it as well by creating a phpinfo script (a file that invokes phpinfo();) and then run it in the browser.

See the example below.

enter image description here

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.