Sto eseguendo MacOS X Mavericks, dove ho creato manualmente uno stack MAMP installando mysql5-server
, php5
, ecc. in MacPorts. Recentemente sono stato costretto ad aggiornare questa configurazione a mysql56-server
e php56
(a causa dell'installazione di Cherry Framework di WordPress). L'ho fatto seguendo le istruzioni fornite nel seguente link.
Si noti che ho ancora mantenuto la mia vecchia configurazione MAMP. Cioè, ho mantenuto mysql5-server
, php5
, ecc. In MacPorts ma, invece di usare i "vecchi" comandi per avviare i server Apache2 e MySQL, ora utilizzo i seguenti comandi.
sudo port load apache2
sudo port load mysql56-server
Tutto stava funzionando bene con la nuova configurazione fino alla settimana scorsa quando, dopo aver modificato alcuni dei parametri predefiniti nel file /opt/local/etc/php56/php.ini
, ho perso la connessione al mio database. I parametri che ho cambiato erano
< max_time_input = 60 ; (from)
> max_time_input = -1 ; (to)
< upload_max_filesize = 2M ; (from)
> upload_max_filesize = 8M ; (to)
NB. I valori di socket predefiniti per pdo_mysql
, mysql
e mysqli
(nel file /opt/local/etc/php56/php.ini
) sono impostati rispettivamente sui seguenti valori,
pdo_mysql.default_socket=/opt/local/var/run/mysql56/mysqld.sock
mysql.default_socket=/opt/local/var/run/mysql56/mysqld.sock
mysqli.default_socket=/opt/local/var/run/mysql56/mysqld.sock
Ho risolto il problema di connessione al database rimuovendo prima l'opzione skip-networking
in [mysqld]
e aggiungendo la seguente riga a /opt/local/etc/mysql56/my.cnf
.
[mysqld]
< skip-networking ; (removed)
> socket = /opt/local/var/run/mysql56/mysqld.sock ; (added)
Inoltre, ho modificato tutti i riferimenti di localhost
a 127.0.0.1
nei miei file di configurazione di WordPress. Mentre questo risolveva il problema del mio database, ho notato che la mia configurazione è tornata al "vecchio" stack MAMP (con php5
invece di php56
e mysql5-server
invece di mysql56-server
). L'ho confermato eseguendo la funzione phpinfo()
in uno script PHP. Si noti che tutti i tentativi di riconfigurare il mio stack MAMP sulla nuova configurazione non sono riusciti. Cioè, ho provato a ripetere le istruzioni fornite dal link sopra inutilmente. Inoltre, quando provo a caricare manualmente Apache2 Server utilizzando il seguente comando,
sudo /opt/local/apache2/bin/apachectl start
Ricevo i seguenti errori,
(48)Address already in use: make_sock: could not bind to address [::]:80
(48)Address already in use: make_sock: could not bind to address 0.0.0.0:80
no listening sockets available, shutting down
Non sono sicuro se ho fatto qualcosa per corrompere la mia configurazione, ma non credo che un cambiamento nei parametri PHP possa causare un simile comportamento. Inoltre, sospetto che il motivo per cui ho perso la connessione al server di database sia dovuto al fatto che mysql
punta a mysql5-server
(che si basa su un socket di rete presente) anziché mysql56-server
. L'ho confermato tramite l'output generato dalla funzione phpinfo()
annotata in precedenza.
Qualsiasi aiuto / consiglio su come risolvere questo problema, a meno di reinstallare MacPorts, sarebbe apprezzato.