mirror of
https://github.com/shivammathur/setup-php.git
synced 2025-09-08 22:04:10 +07:00
Improve extension support
This commit is contained in:
Binary file not shown.
Binary file not shown.
@ -15,16 +15,6 @@ export async function addCoverageXdebug(
|
||||
pipe: string
|
||||
): Promise<string> {
|
||||
switch (version) {
|
||||
case '8.0':
|
||||
return (
|
||||
'\n' +
|
||||
(await utils.addLog(
|
||||
'$cross',
|
||||
'xdebug',
|
||||
'Xdebug currently only supports PHP 7.4 or lower',
|
||||
os_version
|
||||
))
|
||||
);
|
||||
case '7.4':
|
||||
default:
|
||||
return (
|
||||
|
@ -1,6 +1,24 @@
|
||||
import * as path from 'path';
|
||||
import * as utils from './utils';
|
||||
|
||||
/**
|
||||
* Function to get Xdebug version compatible with php versions
|
||||
*
|
||||
* @param version
|
||||
*/
|
||||
export async function getXdebugVersion(version: string): Promise<string> {
|
||||
switch (version) {
|
||||
case '5.3':
|
||||
return '2.2.7';
|
||||
case '5.4':
|
||||
return '2.4.1';
|
||||
case '5.5':
|
||||
return '2.5.5';
|
||||
default:
|
||||
return '2.9.6';
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Install and enable extensions for darwin
|
||||
*
|
||||
@ -60,25 +78,22 @@ export async function addExtensionDarwin(
|
||||
' ' +
|
||||
ext_prefix;
|
||||
return;
|
||||
// match 5.3xdebug
|
||||
case /5\.3xdebug/.test(version_extension):
|
||||
command = command_prefix + 'xdebug-2.2.7' + pipe;
|
||||
// match 5.3xdebug...5.5xdebug
|
||||
case /5\.[3-5]xdebug/.test(version_extension):
|
||||
command =
|
||||
command_prefix + 'xdebug-' + (await getXdebugVersion(version));
|
||||
break;
|
||||
// match 5.4xdebug
|
||||
case /5\.4xdebug/.test(version_extension):
|
||||
command = command_prefix + 'xdebug-2.4.1' + pipe;
|
||||
// match 5.6xdebug, 7.0xdebug...7.4xdebug, 8.0xdebug
|
||||
case /(5\.6|7\.[0-4]|8\.[0-9])xdebug/.test(version_extension):
|
||||
command = 'add_brew_extension xdebug';
|
||||
break;
|
||||
// match 5.5xdebug and 5.6xdebug
|
||||
case /5\.[5-6]xdebug/.test(version_extension):
|
||||
command = command_prefix + 'xdebug-2.5.5' + pipe;
|
||||
break;
|
||||
// match 7.0redis
|
||||
case /7\.0xdebug/.test(version_extension):
|
||||
command = command_prefix + 'xdebug-2.9.0' + pipe;
|
||||
// match 7.1pcov...7.4pcov, 8.0pcov
|
||||
case /(7\.[1-4]|8\.[0-9])pcov/.test(version_extension):
|
||||
command = 'add_brew_extension pcov';
|
||||
break;
|
||||
// match 5.6redis
|
||||
case /5\.6redis/.test(version_extension):
|
||||
command = command_prefix + 'redis-2.2.8' + pipe;
|
||||
command = command_prefix + 'redis-2.2.8';
|
||||
break;
|
||||
// match imagick
|
||||
case /^imagick$/.test(extension):
|
||||
@ -93,7 +108,7 @@ export async function addExtensionDarwin(
|
||||
// match sqlite
|
||||
case /^sqlite$/.test(extension):
|
||||
extension = 'sqlite3';
|
||||
command = command_prefix + extension + pipe;
|
||||
command = command_prefix + extension;
|
||||
break;
|
||||
// match 7.0phalcon3...7.3phalcon3 and 7.2phalcon4...7.4phalcon4
|
||||
case /^7\.[0-3]phalcon3$|^7\.[2-4]phalcon4$/.test(version_extension):
|
||||
@ -106,7 +121,7 @@ export async function addExtensionDarwin(
|
||||
version;
|
||||
return;
|
||||
default:
|
||||
command = command_prefix + extension + pipe;
|
||||
command = command_prefix + extension;
|
||||
break;
|
||||
}
|
||||
add_script +=
|
||||
|
@ -91,6 +91,16 @@ add_pecl_extension() {
|
||||
fi
|
||||
}
|
||||
|
||||
# Function to install a php extension from shivammathur/extensions tap.
|
||||
add_brew_extension() {
|
||||
extension=$1
|
||||
if ! brew tap | grep shivammathur/extensions; then
|
||||
brew tap --shallow shivammathur/extensions
|
||||
fi
|
||||
brew install "$extension@$version"
|
||||
sudo cp "$(brew --prefix)/opt/$extension@$version/$extension.so" "$ext_dir"
|
||||
}
|
||||
|
||||
# Function to setup extensions
|
||||
add_extension() {
|
||||
extension=$1
|
||||
@ -172,7 +182,7 @@ add_composertool() {
|
||||
|
||||
add_blackfire() {
|
||||
sudo mkdir -p usr/local/var/run
|
||||
brew tap blackfireio/homebrew-blackfire >/dev/null 2>&1
|
||||
brew tap --shallow blackfireio/homebrew-blackfire >/dev/null 2>&1
|
||||
brew install blackfire-agent >/dev/null 2>&1
|
||||
if [[ -n $BLACKFIRE_SERVER_ID ]] && [[ -n $BLACKFIRE_SERVER_TOKEN ]]; then
|
||||
sudo blackfire-agent --register --server-id="$BLACKFIRE_SERVER_ID" --server-token="$BLACKFIRE_SERVER_TOKEN" >/dev/null 2>&1
|
||||
@ -212,7 +222,7 @@ update_formulae() {
|
||||
setup_php() {
|
||||
action=$1
|
||||
export HOMEBREW_NO_INSTALL_CLEANUP=TRUE
|
||||
brew tap shivammathur/homebrew-php
|
||||
brew tap --shallow shivammathur/homebrew-php
|
||||
if brew list php@"$version" 2>/dev/null | grep -q "Error" && [ "$action" != "upgrade" ]; then
|
||||
brew unlink php@"$version"
|
||||
else
|
||||
|
@ -120,7 +120,8 @@ add_pdo_extension() {
|
||||
add_log "$tick" "$pdo_ext" "Enabled"
|
||||
else
|
||||
read -r ext ext_name <<< "$1 $1"
|
||||
sudo rm -rf "$scan_dir"/*pdo.ini >/dev/null 2>&1 && echo "extension=pdo.so" >> "$ini_file"
|
||||
sudo rm -rf "$scan_dir"/*pdo.ini >/dev/null 2>&1
|
||||
if ! check_extension "pdo"; then echo "extension=pdo.so" >> "$ini_file"; fi
|
||||
if [ "$ext" = "mysql" ]; then
|
||||
enable_extension "mysqlnd" "extension"
|
||||
ext_name="mysqli"
|
||||
|
@ -362,7 +362,8 @@ if($version -lt "5.5") {
|
||||
}
|
||||
Update-PhpCAInfo -Path $php_dir -Source $cert_source
|
||||
if ($version -eq 'master') {
|
||||
Copy-Item $dir"\..\src\bin\php_$env:PHPTS`_pcov.dll" -Destination $ext_dir"\php_pcov.dll"
|
||||
Invoke-WebRequest -UseBasicParsing -Uri "https://github.com/shivammathur/php-extensions-windows/releases/latest/download/php_$env:phpts`_$arch`_pcov.dll" -OutFile $ext_dir"\php_pcov.dll" >$null 2>&1
|
||||
Invoke-WebRequest -UseBasicParsing -Uri "https://github.com/shivammathur/php-extensions-windows/releases/latest/download/php_$env:phpts`_$arch`_xdebug.dll" -OutFile $ext_dir"\php_xdebug.dll" >$null 2>&1
|
||||
Set-PhpIniKey -Key 'opcache.jit_buffer_size' -Value '256M' -Path $php_dir
|
||||
Set-PhpIniKey -Key 'opcache.jit' -Value '1235' -Path $php_dir
|
||||
}
|
||||
|
Reference in New Issue
Block a user