-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathswitchphp
More file actions
45 lines (35 loc) · 982 Bytes
/
Copy pathswitchphp
File metadata and controls
45 lines (35 loc) · 982 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#!/usr/bin/ruby
@versions = [
"5.6",
"7.1"
]
# Get the desired version from input
puts "Enter your desired version from: " + @versions.join(', ')
@desiredVersion = gets.chomp
@currentVersionString = `php -v`
if @currentVersionString.include? @desiredVersion
puts "Already running PHP version #{@desiredVersion}"
exit
end
# Ensure we have a valid version
if !@versions.include? @desiredVersion
puts "Incorrect PHP Version."
exit
end
# Remove desired version
@versions.delete(@desiredVersion)
# Stop/unlink all undesired versions
@versions.each do | version |
version = version.sub!('.', '')
serviceName = "php#{version}"
puts "Stopping service #{serviceName}"
`brew services stop #{serviceName}`
puts "Unlinking #{serviceName}"
`brew unlink #{serviceName}`
end
@desiredVersion.sub!('.', '')
serviceName = "php#{@desiredVersion}"
puts "Starting service #{serviceName}"
`brew services start #{serviceName}`
puts "Linking #{serviceName}"
`brew link #{serviceName}`