title: Dealing with "the requested PHP extension pdo_sqlite is missing from your system. " when running composer install
body: <p>I'm having difficulty running <code>composer install</code> on Jenkins.</p>
  
  <p>I have a Jenkins job that I need to run <code>composer install</code> for.  I have installed php7.2 and composer.  When I run the command, I get the following errors:</p>
  
  <p><code>composer install</code></p>
  
  <pre><code>  Problem 1
  - teamtnt/tntsearch v1.3.2 requires ext-pdo_sqlite * -&gt; the requested PHP extension pdo_sqlite is missing from your system.
  - teamtnt/tntsearch v1.3.2 requires ext-pdo_sqlite * -&gt; the requested PHP extension pdo_sqlite is missing from your system.
  - Installation request for teamtnt/tntsearch v1.3.2 -&gt; satisfiable by teamtnt/tntsearch[v1.3.2].
  </code></pre>
  
  <p>So I install sqlite using the following command: <code>sudo apt-get install php7.2-sqlite3</code> </p>
  
  <p>After this, I get the additional warning, and the error persists.</p>
  
  <pre><code>PHP Warning:  PHP Startup: Unable to load dynamic library 'pdo_sqlite.so' 
  (tried: /usr/lib/php/20170718/pdo_sqlite.so (/usr/lib/php/20170718/pdo_sqlite.so: 
  undefined symbol: sqlite3_column_table_name), /usr/lib/php/20170718/pdo_sqlite.so.so
  (/usr/lib/php/20170718/pdo_sqlite.so.so: cannot open shared object file: 
  No such file or directory)) in Unknown on line 0
  Loading composer repositories with package information
  Installing dependencies (including require-dev) from lock file
  Your requirements could not be resolved to an installable set of packages.
  
  Problem 1
  - teamtnt/tntsearch v1.3.2 requires ext-pdo_sqlite * -&gt; the requested PHP extension pdo_sqlite is missing from your system.
  - teamtnt/tntsearch v1.3.2 requires ext-pdo_sqlite * -&gt; the requested PHP extension pdo_sqlite is missing from your system.
  - Installation request for teamtnt/tntsearch v1.3.2 -&gt; satisfiable by teamtnt/tntsearch[v1.3.2].
  </code></pre>
  
  <p><strong>When I ssh into the Jenkins box and run <code>composer install</code> from the workspace directory, everything runs as expected and the vendor directory is generated with no errors.</strong></p>
  
  <p>I have spent a lot of time looking at the answers to existing questions on StackOverflow.</p>
  
  <p>I've purged everything that is not php7.2, and removed any previous versions of my machine.
  I have also installed the php7.2-pdo_sqlite, and ensured that it is displayed in the php.ini file.
  I've also tried completely removing php (and checked using <code>php -v</code>) and then reinstalled php7.2.
  When I run <code>php --ini</code> I see /etc/php/7.2/cli/conf.d/20-pdo_mysql.ini, and 
  /etc/php/7.2/cli/conf.d/20-pdo_sqlite.ini displayed on the list.</p>
  
  <p>I have also given READ permissions to /usr/lib/php/20170718/pdo_sqlite.so incase it was due to a permission error. </p>
  
  <p>What else can I do to resolve the error above? - my goal is to be able to run composer install.</p>