MacPortsでphp5の代わりにphp56をロードする際の問題


1

私はMacOS X Mavericksを実行しています、そこで私は手動でインストールによってMAMPスタックを作成しました mysql5-serverphp5など、MacPortsの下で。私は最近この設定をにアップグレードすることを余儀なくされました mysql56-server そして php56 (WordPressのCherry Frameworkのインストールによる)私は以下のリンクで提供された指示に従うことによってそうしました。

https://trac.macports.org/wiki/howto/MAMP

私はまだ私の古いMAMP設定を保存していることに注意してください。つまり、私は mysql5-serverphp5など、MacPortsの下で、しかし、代わりにApache2とMySQLサーバを起動するために「古い」コマンドを使う代わりに、私は今次のコマンドを使います。

sudo port load apache2
sudo port load mysql56-server

先週のデフォルトパラメータのいくつかを変更した後まで、すべてが新しい設定で問題なく動作していました。 /opt/local/etc/php56/php.ini ファイル、私は私のデータベースへの接続を失いました。変更したパラメータは

< max_time_input = 60 ; (from)
> max_time_input = -1  ; (to)

< upload_max_filesize = 2M ; (from)
> upload_max_filesize = 8M ; (to)

N.B.のデフォルトのソケット値 pdo_mysqlmysql そして mysqli (の中に /opt/local/etc/php56/php.ini file)はそれぞれ以下の値に設定されます。

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

私は最初に削除することでデータベース接続の問題を解決しました skip-networking 下のオプション [mysqld] 次の行を /opt/local/etc/mysql56/my.cnf

[mysqld]
< skip-networking ; (removed)
> socket = /opt/local/var/run/mysql56/mysqld.sock ; (added)

また、私はすべての参照を変更しました localhost127.0.0.1 私のWordPressの設定ファイルで。これで私のデータベースの問題は解決しましたが、私の設定は '古い' MAMPスタック(実行中)に戻ったことに気付きました。 php5 の代わりに php56、そして mysql5-server の代わりに mysql56-server )私は機能を実行することによってこれを確認しました phpinfo() PHPスクリプトで。 MAMPスタックを新しい設定に再設定しようとする試みはすべて失敗したことに注意してください。つまり、上記のリンクで提供されている指示を何の役にも立たないように繰り返してみました。また、次のコマンドを使って手動でApache2 Serverをロードしようとすると、

sudo /opt/local/apache2/bin/apachectl start

次のようなエラーが表示されます。

(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

自分の設定を壊すために何かをしたかどうかはわかりませんが、PHPパラメータの変更がそのような動作を引き起こすとは思われません。さらに、データベースサーバーへの接続が切断されたのは、次のような理由によるものと思われます。 mysql 指している mysql5-server (存在するネットワークソケットに依存します) mysql56-server。私はこれによって生成された出力を介してこれを確認しました phpinfo() 機能は前述のとおりです。

MacPortsを再インストールすることを除いて、この問題を解決する方法に関するどんな助け/アドバイスでも評価されるでしょう。


私が問題を解決したことをあなたに知らせるためだけに。理由 phpinfo() 古いMAMP設定が(何らかの理由で)バックグラウンドで実行されていたためにApache 2サーバーを手動で起動できなかったためです。 sudo /opt/local/apache2/bin/apachectl start コマンドプロンプトでこの問題は、「古い」MAMP構成のApache 2サーバーを停止してから、Mac経由でApache 2サーバーをロードすることで解決されました。 port コマンド。
Bill
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.