本文整理汇总了PHP中PhpBrew\Config::getVersionEtcPath方法的典型用法代码示例。如果您正苦于以下问题:PHP Config::getVersionEtcPath方法的具体用法?PHP Config::getVersionEtcPath怎么用?PHP Config::getVersionEtcPath使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类PhpBrew\Config
的用法示例。
在下文中一共展示了Config::getVersionEtcPath方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: setup
public function setup($options)
{
$phpConfigFile = $options->production ? 'php.ini-production' : 'php.ini-development';
$this->logger->info("---> Copying config file for " . $options->production ? 'production' : 'development');
if (file_exists($phpConfigFile)) {
$this->logger->info("Found config file: {$phpConfigFile}");
$version = Config::getCurrentPhpName();
if (!file_exists(Config::getVersionEtcPath($version))) {
$dir = Config::getVersionEtcPath($version);
$this->logger->debug("Creating config directory");
mkdir($dir, 0755, true);
}
$targetConfigPath = Config::getVersionEtcPath($version) . DIRECTORY_SEPARATOR . 'php.ini';
if (file_exists($targetConfigPath)) {
$this->logger->notice("{$targetConfigPath} exists, do not overwrite.");
} else {
// TODO: Move this to PhpConfigPatchTask
// move config file to target location
copy($phpConfigFile, $targetConfigPath);
// replace current timezone
$timezone = ini_get('date.timezone');
$pharReadonly = ini_get('phar.readonly');
if ($timezone || $pharReadonly) {
// patch default config
$content = file_get_contents($targetConfigPath);
if ($timezone) {
$this->logger->info("---> Found date.timezone, patch config timezone with {$timezone}");
$content = preg_replace('/^date.timezone\\s*=\\s*.*/im', "date.timezone = {$timezone}", $content);
}
if (!$pharReadonly) {
$this->logger->info("---> Disable phar.readonly option.");
$content = preg_replace('/^phar.readonly\\s*=\\s*.*/im', "phar.readonly = 0", $content);
}
file_put_contents($targetConfigPath, $content);
}
}
}
}
示例2: execute
//.........这里部分代码省略.........
foreach ($variantInfo['enabled_variants'] as $name => $value) {
$build->enableVariant($name, $value);
}
foreach ($variantInfo['disabled_variants'] as $name => $value) {
$build->disableVariant($name);
if ($build->hasVariant($name)) {
$this->logger->warn("Removing variant {$name} since we've disabled it from command.");
$build->removeVariant($name);
}
}
$build->setExtraOptions($variantInfo['extra_options']);
if ($options->clean) {
$clean = new CleanTask($this->logger);
$clean->cleanByVersion($version);
}
$buildLogFile = Config::getVersionBuildLogPath($version);
$configure = new \PhpBrew\Tasks\ConfigureTask($this->logger);
$configure->configure($build, $this->options);
$buildTask = new BuildTask($this->logger);
$buildTask->setLogPath($buildLogFile);
$buildTask->build($build, $this->options);
if ($options->{'test'}) {
$test = new TestTask($this->logger);
$test->setLogPath($buildLogFile);
$test->test($build, $this->options);
}
$install = new InstallTask($this->logger);
$install->setLogPath($buildLogFile);
$install->install($build, $this->options);
if ($options->{'post-clean'}) {
$clean = new CleanTask($this->logger);
$clean->cleanByVersion($version);
}
/** POST INSTALLATION **/
$dsym = new DSymTask($this->logger);
$dsym->patch($build, $this->options);
// copy php-fpm config
$this->logger->info("---> Creating php-fpm.conf");
$phpFpmConfigPath = "sapi/fpm/php-fpm.conf";
$phpFpmTargetConfigPath = Config::getVersionEtcPath($version) . DIRECTORY_SEPARATOR . 'php-fpm.conf';
if (file_exists($phpFpmConfigPath)) {
if (!file_exists($phpFpmTargetConfigPath)) {
copy($phpFpmConfigPath, $phpFpmTargetConfigPath);
} else {
$this->logger->notice("Found existing {$phpFpmTargetConfigPath}.");
}
}
$phpConfigPath = $options->production ? 'php.ini-production' : 'php.ini-development';
$this->logger->info("---> Copying {$phpConfigPath} ");
if (file_exists($phpConfigPath)) {
$targetConfigPath = Config::getVersionEtcPath($version) . DIRECTORY_SEPARATOR . 'php.ini';
if (file_exists($targetConfigPath)) {
$this->logger->notice("Found existing {$targetConfigPath}.");
} else {
// TODO: Move this to PhpConfigPatchTask
// move config file to target location
copy($phpConfigPath, $targetConfigPath);
// replace current timezone
$timezone = ini_get('date.timezone');
$pharReadonly = ini_get('phar.readonly');
if ($timezone || $pharReadonly) {
// patch default config
$content = file_get_contents($targetConfigPath);
if ($timezone) {
$this->logger->info("---> Found date.timezone, patch config timezone with {$timezone}");
$content = preg_replace('/^date.timezone\\s*=\\s*.*/im', "date.timezone = {$timezone}", $content);
}
if (!$pharReadonly) {
$this->logger->info("---> Disable phar.readonly option.");
$content = preg_replace('/^phar.readonly\\s*=\\s*.*/im', "phar.readonly = 0", $content);
}
file_put_contents($targetConfigPath, $content);
}
}
}
$this->logger->info("Initializing pear config...");
$home = Config::getPhpbrewHome();
@mkdir("{$home}/tmp/pear/temp", 0755, true);
@mkdir("{$home}/tmp/pear/cache_dir", 0755, true);
@mkdir("{$home}/tmp/pear/download_dir", 0755, true);
system("pear config-set temp_dir {$home}/tmp/pear/temp");
system("pear config-set cache_dir {$home}/tmp/pear/cache_dir");
system("pear config-set download_dir {$home}/tmp/pear/download_dir");
$this->logger->info("Enabling pear auto-discover...");
system("pear config-set auto_discover 1");
$this->logger->debug("Source directory: " . $targetDir);
$this->logger->info("Congratulations! Now you have PHP with {$version}.");
echo <<<EOT
To use the newly built PHP, try the line(s) below:
\$ phpbrew use {$version}
Or you can use switch command to switch your default php version to {$version}:
\$ phpbrew switch {$version}
Enjoy!
EOT;
}