You are here

function ArchiveTar::loadExtension in Zircon Profile 8

Same name and namespace in other branches
  1. 8.0 core/lib/Drupal/Core/Archiver/ArchiveTar.php \Drupal\Core\Archiver\ArchiveTar::loadExtension()

OS independent PHP extension load. Remember to take care on the correct extension name for case sensitive OSes.

Parameters

string $ext The extension name:

Return value

bool Success or not on the dl() call

1 call to ArchiveTar::loadExtension()
ArchiveTar::__construct in core/lib/Drupal/Core/Archiver/ArchiveTar.php
Archive_Tar Class constructor. This flavour of the constructor only declare a new Archive_Tar object, identifying it by the name of the tar file. If the compress argument is set the tar will be read or created as a gzip or bz2 compressed TAR file.

File

core/lib/Drupal/Core/Archiver/ArchiveTar.php, line 278

Class

ArchiveTar

Namespace

Drupal\Core\Archiver

Code

function loadExtension($ext) {
  if (extension_loaded($ext)) {
    return true;
  }

  // if either returns true dl() will produce a FATAL error, stop that
  if (function_exists('dl') === false || ini_get('enable_dl') != 1 || ini_get('safe_mode') == 1) {
    return false;
  }
  if (OS_WINDOWS) {
    $suffix = '.dll';
  }
  elseif (PHP_OS == 'HP-UX') {
    $suffix = '.sl';
  }
  elseif (PHP_OS == 'AIX') {
    $suffix = '.a';
  }
  elseif (PHP_OS == 'OSX') {
    $suffix = '.bundle';
  }
  else {
    $suffix = '.so';
  }
  return @dl('php_' . $ext . $suffix) || @dl($ext . $suffix);
}