この記事の内容は、古い php バージョンを削除し、最新の php バージョンと Xdebug を Mac システムにインストールすることに関するものです。これで、必要な友達と共有できます。 2015 バージョン macpro システムにはデフォルトでバージョン php5.6.28 がインストールされています。php7.0 と php7.1 をインストールするために brew などを使用しましたが、phpinfo() を出力すると、また php5.6.28 が表示されたような気がします。私は強迫性障害を患っており、それに対処する必要があり、1 日以上を無駄にし、インターネット上のほぼすべての方法を試しました。ただし、コンピュータ環境は人それぞれ若干異なるため、それらの多くは参考程度にしか使用できず、あまり役に立ちません。完了したら、ここに記録します。
最初のステップは、表示された php バージョンを削除することです。コンピューター上のすべての php を削除してから、最新バージョンを再インストールする予定です。この操作は危険を伴うため、注意が必要です。インターネットでは次のように言われています。 ps: 一部のソフトウェアは PHP 環境に依存する可能性があるため、組み込みの PHP バージョンを削除することはお勧めできません。セルフコンパイルまたは brew を使用して新しいバージョンの PHP をインストールすることもできます。初心者には推奨されません。失敗した後にファイルを復元できるように、操作する前に必ず TM を使用してシステムをバックアップしてください。
しかし、そうする必要はありません。もう 1 つのバージョンでも問題ないはずです。削除処理中、user/bin ディレクトリにある実行ファイル php は削除できません。Mac ではセーフ モードで任意のファイルを削除する方法がありますが、このファイルは保持されます。 . -config、viでファイルを開くとphpのバージョンが一番古いのが原因かと思われます。brew php7.1 をインストールすると、以下のようになります:
php.ini および php-fpm.ini ファイルは次の場所にあります:
/usr/local/ etc/php/7.1
Apache で PHP を有効にするには、以下を httpd.conf に追加し、Apache を再起動します:
LoadModule php7_module /usr/local/opt/php@7.1/lib/httpd/ modules/libphp7.so
最後に、DirectoryIndex にindex.php が含まれていることを確認します
DirectoryIndexindex.phpindex.html
php.iniファイルとphp-fpm.iniファイルは次の場所にあります:
/usr/local/etc/php/7.1/
このフォーミュラはkeg専用です。つまり、/usr/localにシンボリックリンクされていません
、これは別のフォーミュラの代替バージョンであるためです。
このソフトウェアを最初に PATH に含める必要がある場合は、次のコマンドを実行します:
echo 'export PATH="/usr/local/opt/php@7.1/bin:$PATH"' >> ~/.bash_profile
echo 'export PATH="/usr/local/opt/php@7.1/sbin:$PATH"' >> ~/.bash_profile
コンパイラがこのソフトウェアを見つけるには、次の設定が必要な場合があります:
LDFLAGS: -L/usr/local/opt/php@7.1/lib
CPPFLAGS: -I/usr/local/opt/php@7.1/include
launchd で php@7.1 を今すぐ起動し、ログイン時に再起動するには:
brew services start php@7.1
または、バックグラウンド サービスが必要ない場合は、単に実行することもできます:
php-fpm
この情報は、いくつかの方法とインストール パスを示しています。私はこの情報を読んだのは絶望的になったときだけで、本当に無視することはできず、上記のヒントを段階的に実行することはできないことに気づきました。皆さんも理解できるはずですが、理解できない場合はメッセージを残してください。終了したら、php-fpmを再起動することを忘れないでください
npmを再起動するときに行った寄り道について話しましょう
php-fpmを再起動すると、2つのエラーが発生する可能性があります。1つは、php-fpmが見つからない、または開けないことです。 、そして 2 つ目は、パスに従って error_log を見つけるか開きます
最初のエラーを解決します
ps aux|grep php-fpm を実行します php-fpm のプロセスが表示されます
たとえば、
root 21891 0.0 0.0 112660 960 pts/3 R+ 16:18 0:00 grep --color=auto php-fpm root 42891 0.0 0.1 182796 1220 ? Ss 4月18 0:19 php-fpm: master process (/usr/local/php/etc/php-fpm.conf) nobody 42892 0.0 0.6 183000 6516 ? S 4月18 0:07 php-fpm: pool www nobody 42893 0.0 0.6 183000 6508 ? S 4月18 0:17 php-fpm: pool www
上にパスがあるのがわかります。インストールパスにあるphp-fpm.confをcpコマンドを使って上記のパスにコピーします。 古い php を削除しない場合は、このパスに php-fpm.config.default が存在します。このファイルを直接コピーして、php-fpm.conf に変更できます。
2 番目のエラーはログの問題です。対応する php-fpm.conf を見つけて開きます。そこにログがあり、Mac の下にあるログのアドレスを見つけます。私のものは /usr/local/var パスにあり、デフォルトのアドレスが間違っています。
その後、fpm を再起動しても問題ありません。
php-fpm --fpm-config /usr/local/etc/php/5.4/php-fpm.conf --prefix /usr/local/var
この文を実行したところ、次のとおりであることがわかりましたターミナルは閉じられていないため、phpは使用できますが、電源を切るとハングします。 。 。
さて、まずは冒頭からご紹介しましょう。 brew services start php@7.1 このコマンド
次に、php -v および php-fpm -v
mengdeMacBook-Pro:var GHM$ php-fpm -v
PHP 7.1.16 (fpm -fcgi) を実行しました。 ) (構築: Apr 12 2018 03:25:57)
著作権 (c) 1997-2018 The PHP Group
Zend Engine v3.1.0, Copyright (c) 1998-2018 Zend Technologies
with Xdebug v2.6.0, Copyright (c) ) 2002-2018、Derick Rethans 氏
と Zend OPcache v7.1.16、著作権 (c) 1999-2018、Zend Technologies 氏
mengdeMacBook-Pro:var GHM$ php -v
PHP 7.1.16 (cli) (ビルド : 4 月) 12 2018 03:25:50) (NTS)
著作権 (c) 1997-2018 The PHP Group
Zend Engine v3.1.0、著作権 (c) 1998-2018 Zend Technologies
Xdebug v2.6.0、著作権 (c) ) 2002-2018、Derick Rethans 氏
と Zend OPcache v7.1.16、著作権 (c) 1999-2018、Zend Technologies 氏
最初、私の php-v は最新のものを表示していましたが、php-fpm の実行はまだの古いバージョン。これで説明はOKです
Webページを開いてphpinfo()を見てください
System | Darwin mengdeMacBook-Pro.local 16.4.0 Darwin Kernel Version 16.4.0: Thu Dec 22 22:53:21 PST 2016; root:xnu-3789.41.3~3/RELEASE_X86_64 x86_64 |
Build Date | Apr 12 2018 03:24:25 |
Configure Command | './configure' '--prefix=/usr/local/Cellar/php@7.1/7.1.16_1' '--localstatedir=/usr/local/var' '--sysconfdir=/usr/local/etc/php/7.1' '--with-config-file-path=/usr/local/etc/php/7.1' '--with-config-file-scan-dir=/usr/local/etc/php/7.1/conf.d' '--with-pear=/usr/local/Cellar/php@7.1/7.1.16_1/share/php@7.1/pear' '--enable-bcmath' '--enable-calendar' '--enable-dba' '--enable-dtrace' '--enable-exif' '--enable-ftp' '--enable-fpm' '--enable-intl' '--enable-mbregex' '--enable-mbstring' '--enable-mysqlnd' '--enable-opcache-file' '--enable-pcntl' '--enable-phpdbg' '--enable-phpdbg-webhelper' '--enable-shmop' '--enable-soap' '--enable-sockets' '--enable-sysvmsg' '--enable-sysvsem' '--enable-sysvshm' '--enable-wddx' '--enable-zip' '--with-apxs2=/usr/local/opt/httpd/bin/apxs' '--with-bz2' '--with-fpm-user=_www' '--with-fpm-group=_www' '--with-freetype-dir=/usr/local/opt/freetype' '--with-gd' '--with-gettext=/usr/local/opt/gettext' '--with-gmp=/usr/local/opt/gmp' '--with-icu-dir=/usr/local/opt/icu4c' '--with-jpeg-dir=/usr/local/opt/jpeg' '--with-kerberos' '--with-layout=GNU' '--with-ldap' '--with-ldap-sasl' '--with-libedit' '--with-libzip' '--with-mcrypt=/usr/local/opt/mcrypt' '--with-mhash' '--with-mysql-sock=/tmp/mysql.sock' '--with-mysqli=mysqlnd' '--with-ndbm' '--with-openssl=/usr/local/opt/openssl' '--with-pdo-dblib=/usr/local/opt/freetds' '--with-pdo-mysql=mysqlnd' '--with-pdo-odbc=unixODBC,/usr/local/opt/unixodbc' '--with-pdo-pgsql=/usr/local/opt/libpq' '--with-pgsql=/usr/local/opt/libpq' '--with-pic' '--with-png-dir=/usr/local/opt/libpng' '--with-pspell=/usr/local/opt/aspell' '--with-unixODBC=/usr/local/opt/unixodbc' '--with-webp-dir=/usr/local/opt/webp' '--with-xmlrpc' '--with-xsl' '--with-zlib' '--with-curl' |
坑多,两天了有些我也忘了,谁有遇到问题可以留言。。。
下面说下xdebug 安装
建议按官方,少走弯路
打开这个xdebug 官方页面
然后command+a 全选,command +v 复制,放到框框里面,运行底部的按钮,会打印出很多我们安装xdebug所需要用到的信息
按步骤走就好了,有一点坑就是,当执行phpsize 的时候报:command cannot find ,这时候找到brew 安装php 的可执行bin目录,直接用那个里面的phpsize 拿来运行,绝对路径运行就可以执行了。还有官方下载的页面有两级目录,而且名字一样,别弄错了,不然运行不了。
Download xdebug-2.6.0.tgz
Unpack the downloaded file with tar -xvzf xdebug-2.6.0.tgz
Run: cd xdebug-2.6.0
Run: phpize
(See the FAQ if you don't have phpize
.
As part of its output it should show:
Configuring for: ... Zend Module Api No: 20160303 Zend Extension Api No: 320160303
If it does not, you are using the wrong phpize
. Please followthis FAQ entry and skip the next step.
Run: ./configure
Run: make
Run: cp modules/xdebug.so /usr/local/lib/php/pecl/20160303
Edit /usr/local/etc/php/7.1/php.ini
and add the linezend_extension = /usr/local/lib/php/pecl/20160303/xdebug.so
Restart the webserver
然后,刷新pathinfo() ,command+f 查找xdebug
看到这样就成功了
然后就是配置xdebug 了
相关推荐:
以上が古い php バージョンを削除し、最新の php バージョンと Xdebug を Mac システムにインストールします。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。