title: PHP 5.3+ enable_dl not enabling dl()?
body: <p>I am trying to install a 3rd party PHP extension (.so) into PHP 5.3.6-13 on Ubuntu 11.10 and use it in a web environment. The vendor's documentation suggests using the <code>dl()</code> function to dynamically load the library.</p>
  
  <p>When I try their example code, I find the <code>dl()</code> isn't available (Fatal error: call to undefined function dl()) as <code>dl()</code> function was deprecated in PHP 5.3. But there is an <code>enable_dl</code> config rule in php.ini, and <a href="https://stackoverflow.com/questions/7689360/php-extension-loading-from-script-using-dl">other sources</a> say that I should be able to use dl() simply by changing the php.ini variables (<code>enable_dl=On</code>, <code>safe_mode=Off</code>, not listed in <code>disable_functions</code>) and restarting apache. When I try that, <code>dl()</code> is still undefined.</p>
  
  <p>So I dig into the <a href="http://www.php.net/manual/en/migration53.sapi.php" rel="nofollow noreferrer">PHP 5.3 SAPI change notes</a> and find this: </p>
  
  <blockquote>
    <p>The dl() function is now disabled by default, and is now available only under the CLI, CGI, and embed SAPIs.</p>
  </blockquote>
  
  <p>Does this mean that <code>dl()</code> is not only <em>"disabled by default"</em> in PHP 5.3+ using a web SAPI, but actually <strong><em>"completely unavailable no matter what I do even with modifying PHP config options"</em></strong>? That's what it appears to me to be since I can't get <code>dl()</code> to work no matter what I tweak.</p>
  
  <p>To clarify: I <em>can</em> modify php.ini and load the extension directly, so this is <em>not</em> a question about how to get the extension working, rather about the function <code>dl()</code> and its state in PHP 5.3+. If it's no longer available under any circumstance I want to be able to tell the vendor, so they can update their documentation. But if it should be available and I'm just missing something, I'd like to hear that too.</p>