Mac操作系统PHP、MySQL等开发环境相关笔记

Mac使用

brew使用命令
https://www.cnblogs.com/miker-lcy/archive/2004/01/13/13622391.html

加入–verbose可以显示详情
brew update –verbose

安装和使用

brew install [email protected]
启动php-fpm
brew services start [email protected]

安装扩展

到指定的版本目录下,如7.4,则到:/usr/local/opt/[email protected]/bin 目录下
./pecl install redis
如果是php5.6,则要指定版本:
./pecl install https://pecl.php.net/get/redis-4.3.0.tgz
配置文件路径:
/usr/local/etc/php/8.0

如果要自己编译安装如memcache,可以从pecl上下载下来,
tar zxvf xxx.tgz后,
/usr/local/opt/[email protected]/bin/phpize
要注意下面的命令,是指定了php-config版本的
./configure –with-zlib-dir=/usr/local/Cellar/zlib/1.2.11 –with-php-config=/usr/local/opt/[email protected]/bin/php-config
make
make install
vi /usr/local/etc/php/5.6/php.ini ,加入:
extension=”memcache.so”

VSCode安装断点调试

安装xdebug扩展,在配置文件里加入:

[XDebug]
zend_extension="xdebug.so"
xdebug.mode=debug
xdebug.log_level=0
xdebug.start_with_request=yes
xdebug.client_host="127.0.0.1"
xdebug.client_port="9180"

上面的:zend_extension=”xdebug.so” 可能在安装扩展的时候已经被加上了,这里我是放在一起方便管理。
xdebug.log_level=0,如果不加这一行的话,在命令行下cli运行时,会报下面的错误:
Xdebug: [Step Debug] Could not connect to debugging client. Tried: 127.0.0.1:9180 (through xdebug.client_host/xdebug.client_port) 🙁

安装多个版本

如果要同时安装多个版本,可以先安装旧版本,再设置:
export HOMEBREW_NO_INSTALL_CLEANUP=TRUE
后,安装新版本(用install xxx.rb),这样旧版本就不会被移除掉,我们就可以用switch来切换了。

查看版本
“`
brew list –version icu4c
“`

### 退回旧版本
https://stackoverflow.com/questions/55826221/install-icu4c-version-63-with-homebrew
锁住某个包不更新
“`
brew pin 包名
“`

### 多个php版本
https://www.cnblogs.com/jingxiaoniu/p/11132807.html

### 多个版本间的切换
“`
brew switch icu4c 64.2
“`
安装PHP多版本和使用

 

开放已经放弃的包
执行以下命令,不然找不到php5
brew tap exolnet/homebrew-deprecated
上面的功能已经失效,可以删除改用下面的 2022年
brew untap exolnet/homebrew-deprecated
brew tap shivammathur/php
brew reinstall [email protected]

/usr/local/Cellar/php/7.4.12/bin/php

brew –prefix php

ln -s /usr/local/opt/[email protected]/lib/libcrypto.1.0.0.dylib /usr/local/opt/openssl/lib/libcrypto.1.0.0.dylib
ln -s /usr/local/opt/[email protected]/lib/libssl.1.0.0.dylib /usr/local/opt/openssl/lib/libssl.1.0.0.dylib

 

手动安装brew各版本
https://stackoverflow.com/questions/55826221/install-icu4c-version-63-with-homebrew/55828190#55828190

在/usr/local/opt下面有一堆的软连接,指向到/usr/local/Cellar不同的版本

If you need to have [email protected] first in your PATH run:
echo ‘export PATH=”/usr/local/opt/[email protected]/bin:$PATH”‘ >> ~/.zshrc
echo ‘export PATH=”/usr/local/opt/[email protected]/sbin:$PATH”‘ >> ~/.zshrc

For compilers to find [email protected] you may need to set:
export LDFLAGS=”-L/usr/local/opt/[email protected]/lib”
export CPPFLAGS=”-I/usr/local/opt/[email protected]/include”

安装openssl1.0
php5.6需要openssl1.0,但现在已经升级了,参照下面来安装。
https://stackoverflow.com/questions/59337838/openssl-1-0-2m-on-macos

但在安装的时候,可能会出现:
NoMethodError: undefined method `prefer_64_bit?’ for OS::Mac:Module

做法比较粗野,把openssl.rb文件里那一行删除掉就行了,直接用64的那一行。

openssl1.0和1.0安装的时候,/usr/local/opt下的符号会指向相同的目录,需要修改。

根据前缀删除redis key
redis-cli -h 1.1.1.1 -n 5 keys “ss1:en-US:cp*” | xargs redis-cli -h db-gocashback-redis.gocashback.com -n 5 del