Open alisamii opened 7 years ago
Hmmm...it also looks like bps thinks I am using Homebrew apache2, which I am not. I am using apple's built-in apache2.
@alisamii yes this looks like a big issue, I too have upgraded and notice things have changed! I will mark this as a bug.
FYI I am without an internet connection outside of work currently but this should be resolved soon and will be then able to update this project.
Any update on this big issue?
@alisamii The php formulas all seem to have removed the libexec modules by default. When installing a php version with the option --with-apache
a new apache gets installed and linked by brew. With brew unlink httpd24
we can use the built-in apache again. This has to be done everytime we install a new php version. But maybe someone wants to use the Homebrew apache, so I would recommend getting the path to the httpd.conf file dynamically:
replacing line 27:
apache_conf_path="/etc/apache2/httpd.conf"
with:
apache_conf_path=$(apachectl -V | grep "SERVER_CONFIG_FILE") | cut -d '"' -f 2
This will output: /etc/apache2/httpd.conf
or /usr/local/etc/apache2/2.4/httpd.conf
(for Homebrew apache)
No update as yet, very busy in personal life at the moment. Hoping to pick the project in the new year.
@oncode when you refer to line 27
in what file are you referring?
I am finding that this issue is plaguing me in multiple ways. First, when I switch php versions using brew-php-switcher XX
it appears to link/unlink various things, but regardless what I do, on the cli, when I issue the command
When I switch to PHP 70, this is what I get:
brew-php-switcher 70
Switching to php70
Switching your shell
Unlinking /usr/local/Cellar/php56/5.6.29_5... 17 symlinks removed
Unlinking /usr/local/Cellar/php70/7.0.14_7... 0 symlinks removed
Linking /usr/local/Cellar/php70/7.0.14_7... 17 symlinks created
You will need sudo power from now on
Password:
Switching your apache conf
Restarting apache
httpd: Syntax error on line 172 of /usr/local/etc/apache2/2.4/httpd.conf: Cannot load /usr/local/Cellar/php56/5.6.27_4/libexec/apache2/libphp5.so into server: dlopen(/usr/local/Cellar/php56/5.6.27_4/libexec/apache2/libphp5.so, 10): image not found
All done!
So, I assume I'm using php70, including on the cli...but not so:
php -v
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/local/opt/php56-varnish/varnish.so' - dlopen(/usr/local/opt/php56-varnish/varnish.so, 9): image not found in Unknown on line 0
PHP 5.6.29 (cli) (built: Dec 9 2016 15:51:49)
Copyright (c) 1997-2016 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies
with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2016, by Zend Technologies
with Xdebug v2.5.0, Copyright (c) 2002-2016, by Derick Rethans
which php
/usr/local/opt/php56/bin/php
So, despite supposedly switching, it isn't.
But, when I load phpinfo
in the browser, it is the correct version
PHP Version 7.0.14
Any ideas?
BTW, it really doesn't make a difference for me anymore, because for reasons completely unrelated to this, tonight is the last night for me. I will be no more. But maybe your answer will help others who may be in my situation (regarding PHP, not regarding ending my life, that is a whole other can of worms).
# stop shipped apache and remove from autostart
sudo apachectl stop
sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist
# install homebrew apache with port 80 enabled
brew install httpd24 --with-privileged-ports --with-http2
sudo brew services start httpd24
# brew install php56 --with-httpd24 && brew unlink php56
brew reinstall --build-from-source php56 --with-httpd24 && brew unlink php56
# brew install php70 --with-httpd24 && brew unlink php70
brew reinstall --build-from-source php70 --with-httpd24 && brew unlink php70
open -e /usr/local/etc/apache2/2.4/httpd.conf
#LoadModule php5_module /usr/local/opt/php56/libexec/apache2/libphp5.so
#LoadModule php7_module /usr/local/opt/php70/libexec/apache2/libphp7.so
brew install brew-php-switcher
ln -s /usr/local/bin/brew-php-switcher /usr/local/bin/sphp
open -e /usr/local/Cellar/brew-php-switcher/1.6/bin/phpswitch.sh
# apache_conf_path="/etc/apache2/httpd.conf"
# apache_conf_path="/usr/local/etc/apache2/2.4/httpd.conf"
apache_conf_path=$(apachectl -V | grep "SERVER_CONFIG_FILE" | cut -d '"' -f 2)
sphp 56
php -v
sphp 70
php -v
@mikebranderhorst How would I integrate my setup of dnsmasq
?
Currently, I have the following setup:
dnsmasq.conf File
address=/.dev/127.0.0.1
Virtual Host File
# Virtual Hosts
#
# Required modules: mod_log_config
<Directory "/Volumes/sites">
Options Indexes MultiViews FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
<Virtualhost *:80>
VirtualDocumentRoot "/Volumes/sites/home/public"
ServerName home.dev
UseCanonicalName Off
</Virtualhost>
<Virtualhost *:80>
VirtualDocumentRoot "/Volumes/sites/clients/%1/public"
ServerName sites.dev
ServerAlias *.dev
UseCanonicalName Off
</Virtualhost>
<Virtualhost *:80>
VirtualDocumentRoot "/Volumes/sites/clients/%-7+/public"
ServerName xip
ServerAlias *.xip.io
UseCanonicalName Off
</Virtualhost>
<Virtualhost *:80>
VirtualDocumentRoot "/Volumes/sites/demo/%1/public"
ServerName demo.dev
ServerAlias *.dev
UseCanonicalName Off
</Virtualhost>
<Virtualhost *:80>
VirtualDocumentRoot "/Volumes/sites/demo/%-7+/public"
ServerName xip
ServerAlias *.xip.io
UseCanonicalName Off
</Virtualhost>
@mikebranderhorst Did you see my question to you above?
@philcook Can we take a reference form this gist
this very nicely couple of line near Linking new modphp addon...
in this gist. which work perfectly fine for me, but some how it wasn't work for me.
I tried to install apache 24 with brew, and get it's already installed and it's located on /usr/local/Cellar/httpd/2.4.27_4/
I'm unable to remove that version and reuse brew-php-switcher
for example when I switch to php71 I try to restart apache but can't open localhost at all, which is not case with php56. On the other hand I can restart apache only with sudo /usr/sbin/apachectl start
and restarting with sudo apachectl start
did pretty much nothing expect showing up AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using vaske-mbp.local. Set the 'ServerName' directive globally to suppress this message httpd (pid 21859) already running
any idea what I did wrong? or what I should do to make running apache with php7?
I get this:
bash-4.4$ sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist
/System/Library/LaunchDaemons/org.apache.httpd.plist: Could not find specified service
bash-4.4$ brew install httpd24 --with-privileged-ports --with-http2
==> Installing dependencies for httpd: apr, apr-util, c-ares, libev, jansson, boost, jemalloc, nghttp2
==> Installing httpd dependency: apr
==> Downloading https://homebrew.bintray.com/bottles/apr-1.6.3.sierra.bottle.tar.gz
curl: (6) Could not resolve host: homebrew.bintray.com
Error: Failed to download resource "apr"
Download failed: https://homebrew.bintray.com/bottles/apr-1.6.3.sierra.bottle.tar.gz
Warning: Bottle installation failed: building from source.
==> Downloading https://www.apache.org/dyn/closer.cgi?path=apr/apr-1.6.3.tar.bz2
Error: Failed to download resource "apr"
Download failed: Couldn't determine mirror, try again later.
I was blocked by my corporate LAN from upgrading to High Sierra, but if or once I'm added to a Beta testing group, I will be able to and I can ditch this entire mess.
Hi,
Ever since I upgraded to macOS Sierra, I am having a problem with brew-php-switcher.
When I issue the command bps (I set an alias for brew-php-switcher) I get the following error:
When I check line 172 of my https.conf file I see the following (lines 168-175):
When I check the location of
libphp7.so
I see it is there:and same thing for
libphp5.so
How do I solve this issue?