首页 文章 精选 留言 我的

精选列表

搜索[mac],共6237篇文章
优秀的个人博客,低调大师

Mac OS X 10.15 编译和安装 Nginx

想在自己电脑里装个 Nginx 来进行各种测试,下面是详细的过程记录: 1. 下载软件 首先建个临时目录 nginx-src 并下载所需软件的源码进行配置 mkdir nginx-src cd nginx-src wget http://nginx.org/download/nginx-1.17.8.tar.gz wget https://ftp.pcre.org/pub/pcre/pcre-8.41.tar.gz wget https://www.openssl.org/source/openssl-1.1.0g.tar.gz tar zxvf *.gz cd nginx-1.17.8 ./configure --with-pcre=../pcre-8.41/ --with-http_ssl_module --with-openssl=../openssl-1.1.0g --prefix=/Users/winterlau/nginx 这里我们将 nginx 安装在 /Users/winterlau/nginx 目录下,prefix 指定的路径请使用绝对路径 2. 错误处理 如果在执行 configure 脚本时报如下错误: checking for OS + Darwin 19.2.0 x86_64 checking for C compiler ... not found ./configure: error: C compiler cc is not found 尝试执行 gcc 出如下错误 xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), ​​​​​​​missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun 执行:xcode-select --install 根据界面提示操作 3. 继续安装 ./configure --with-pcre=../pcre-8.41/ --with-http_ssl_module --with-openssl=../openssl-1.1.0g --prefix=/Users/winterlau/nginx 可看到相关信息如下: Configuration summary + using PCRE library: ../pcre-8.41/ + using OpenSSL library: ../openssl-1.1.0g + using system zlib library 开始编译安装 make make install 4. 启动 Nginx 并测试 由于默认的 nginx 运行在 80 端口上,因此需要有管理员的权限: cd ../../nginx sudo sbin/nginx 打开浏览器访问 http://localhost 收工!

优秀的个人博客,低调大师

Mac免费使用MAMP搭建本地开发环境

打开MAMP 打开偏好设置 设置端口 这里用的是Apache,选择项目路径 到这里可以先运行一下看看是否有端口占用的情况,如果80被占用改成其他的,正常就继续下面的 修改apache文件httpd.conf vi /Applications/MAMP/conf/apache/httpd.conf找到这行把#注释去掉,:wq保存退出Include /Applications/MAMP/conf/apache/extra/httpd-vhosts.conf 第一步、修改httpd-vhosts.conf文件 vi /Applications/MAMP/conf/apache/extra/httpd-vhosts.conf //配置多个项目就复制多个,主要改两个地方 //DocumentRoot 修改为项目路径 //ServerName 自定义配置本地域名 <VirtualHost *:80> ServerAdmin alf66666@163.com DocumentRoot "/Users/eric/HBuilder/userprofiles/medin/backend/web" ServerName www.m.com ErrorLog "logs/apache_error.log" CustomLog "logs/dummy-host2.example.com-access_log" common </VirtualHost> 第二步、修改系统hosts,需要权限 sudo vi /etc/hosts添加配置的本地域名,就是上面的ServerName 127.0.0.1 www.m.com 第三步、重启MAMP 如果配置多个项目,只需要重复上面三步就可以了 以上步骤做完,可以正常运行了或许有其他报错情况 The requested URL index.php was not found on this server. 如果项目是Nginx运行的,选择Apache也是可以的,在项目目录(第一步配置的DocumentRoot)下添加.htaccess文件 // vi /Applications/MAMP/conf/apache/httpd.conf //修改apache文件httpd.conf //AllowOverride None 改为 AllowOverride All <Directory "/Applications/MAMP/bin/phpPgAdmin"> Options All AllowOverride All Order allow,deny Allow from all </Directory> 如果有端口6379 Redis等报错情况,可能是后端根据本地域名必须包含哪些英文字母来配置不同数据库等等,所以要和后端约定好本地域名规则,按照规则配置域名

优秀的个人博客,低调大师

compile php with openssl on mac osx error 填坑

从源码手动编译 PHP 时出现如下错误: Default 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Undefined symbols for architecture x86_64: "_PKCS5_PBKDF2_HMAC", referenced from: _zif_openssl_pbkdf2 in openssl.o "_TLSv1_1_client_method", referenced from: _php_openssl_setup_crypto in xp_ssl.o "_TLSv1_1_server_method", referenced from: _php_openssl_setup_crypto in xp_ssl.o "_TLSv1_2_client_method", referenced from: _php_openssl_setup_crypto in xp_ssl.o "_TLSv1_2_server_method", referenced from: _php_openssl_setup_crypto in xp_ssl.o ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation) make: *** [libs/libphp5.bundle] Error 1 解决办法 MakeFile 里面找到类似下面这一行: Default 1 EXTRA_LIBS = -lresolv -lmcrypt -lltdl -liconv-lm -lxml2 -lcurl -lssl -lcrypto 删除所有的 -lssl 和-lcrypto 然后添加libssl.dylib 和 libcrypto.dylib 的路径(如果你安装了 brew,那么则是 /usr/local/opt/openssl/lib/),重新运行 make 命令,done。 附上我修改后的 MakeFile EXTRA_LIBS 那一行: Default 1 EXTRA_LIBS = -lz -lresolv -lmcrypt -lltdl -lstdc++ -liconv -liconv -lpng -lz -lcurl -lz -lm -lxml2 -lz -licucore -lm -lcurl -lxml2 -lz -licucore -lm -licui18n -licuuc -licudata -licuio -lxml2 -lz -licucore -lm -lxml2 -lz -licucore -lm -lxml2 -lz -licucore -lm -lxml2 -lz -licucore -lm /usr/local/opt/openssl/lib/libssl.dylib /usr/local/opt/openssl/lib/libcrypto.dylib The Makefile has a line withEXTRA_LIBS, something like: EXTRA_LIBS = -lresolv -lmcrypt -lltdl -liconv-lm -lxml2 -lcurl -lssl -lcrypto Remove all occurrences of-lssland-lcryptoand add the full path tolibssl.dylibandlibcrypto.dylib(brew links openssl to /usr/local/opt/openssl/lib/) EXTRA_LIBS = -lresolv -lmcrypt /usr/local/opt/openssl/lib/libssl.dylib /usr/local/opt/openssl/lib/libcrypto.dylib -lltdl -liconv-lm -lxml2 -lcurl 谋胆并重

优秀的个人博客,低调大师

mac下如何使用appledoc生成文档

前言 近期手头项目需要出一下文档,方便使用者查阅。调研了目前比较流行的三款文档生成工具HeaderDoc,Doxygen,appledoc。 Doxygen Doxygen是C++源码生成文档的标准工具,同时也支持很多其它语言如:C,Objective-C,C#,PHP,Java,Python等等。然而,它生成的文档风格和官方文档的风格差了十万八千里,并且配置复杂。 HeaderDoc HeaderDoc是苹果官方的文档生成工具。Xcode9以前在安装完Xcode后就可以使用,Xcode9是个重构版本,并没有继承这个。该工具对注释生成规则比较特别,只生成以/*! */ 的格式的注释。生成文档是分散的,并没有一个汇总文件。 appledoc appledoc只专注Objective-C源代码,并且能生成和苹果官方相同风格的文档。同时支持生成html和直接编译成docset安装进Xcode。代码开源在github上,作者会及时跟开发者沟通。 安装 官方推荐做法是克隆GitHub项目并从Xcode编译该工具。由于克隆GitHub项目将创建与主存储库的链接,它也极大地简化了未来的升级。要进行安装,请在终端中输入以下内容: git clone git://github.com/tomaz/appledoc.git cd ./appledoc sudo sh install-appledoc.sh(如果需要安装模板文件,需添加'-t default') 还可以使用Homebrew进行安装 brew install appledoc 注意:Homebrew默认不会安装模板 安装完成,验证一下是否成功,如果显示版本号则证明安装成功。 appledoc --version 使用 为了演示使用,我创建了测试工程,代码如下完成了代码的书写,切换到命令行,cd到源码所在的目录,执行以下命令 appledoc -p project_name -v project_version -c company_name --company-id company_id -o ./doc . 如果不想生成docset,可以添加—no-create-docset。想了解更多的话,命令行下可以通过appledoc —help查看。 生成的html:很像苹果官方文档的风格吧~ 部署 生成好的html如何部署到服务器?我的项目是在github,可以通过github pages来实现。简单说就是在github账号下新建一个username.github.io的仓库,然后将生成的doc目录下html目录中的全部内容上传到github该仓库下,然后就可以通过在浏览器中输入 http://username.github.io 来访问生成的文档了

优秀的个人博客,低调大师

Mac查看文件内容常用的命令小结

前言 最近苹果的热更新和私有库问题检查的更严了,如果应用被拒,苹果在拒绝信中会说到使用strings/otool/nm命令进行自查,所以总结了一些命令,方便查找和定位文件内容相关信息。 1、grep 作用:判断是否包含字符串 使用示例: grep -r "xxx” path 检查是否包含(weixin)字符串: grep -r "xxx” path.png matches 表示包含。 2、strings 作用:find the printable strings in a object, or other binary, file 使用示例: strings a.out | grep hello //检查 a.out 文件中含有 hello 字符串的字节序列 检查二进制是否含有关键词的库(比如检查私有库): strings a.out | grep hello.png 更多使用说明 man strings 3、otool 作用: object file displaying tool. (针对目标文件的展示工具,用来发现应用中使用到了哪些系统库,调用了其中哪些方法,使用了库中哪些对象及属性) 使用示例:otool -L path //查看可执行程序都链接了那些库 otool -L path | grep "xxx" //筛选是否链接了xxx库 otool -D path //查看支持的架构 otool -ov path //output the Objective-C class structures and their defined methods.(输出Object-C类结构以及定义的方法) 查看该应用是否砸壳:otool -l path | grep crypt //cryptid 0(砸壳) 1(未砸壳) otool -l path | grep crypt.png 更多用法 man otool 4、nm 作用:display name list (symbol table). (显示符号表) 使用示例:nm path //得到Mach-O中的程序符号表 nm -nm path//目标文件的所有符号 nm -nm path.png 符号表中标示为 undefined,意思是目标文件引用了类_XXX(XXX库),不过这并没有实现它。 更多用法 man nm 5、file 作用:determine file type. (判断文件类型) 使用示例:file path 判断.a/framework是静态库还是动态库: 静态库: file path - static Lib.png 动态库: file path - dynamically Lib.png 6、lipo 作用:create or operate on universal files(创建或处理通用文件的工具) 使用示例:lipo -info 'file path' // 判断静态库所支持的平台 - i386 armv7 armv7s x86_64 arm64 lipo -remove i386 origin_xxx.a -output op_xxx.a // 删除静态库包括的i386平台 lipo -thin i386 origin_xxx.a -output op_xxx.a // 拆分静态库,只保留i386 CPU架构 lipo -create device_xxx.a simulator_xxx.a -output universal_xxx.a //对真机或者模拟器分别打出 .a 文件合并 参考阅读 "nm tool" Xcode manual page iOS-private-api-scanner/iOS私有API扫描工作总结· mrmign/iOS-private-api-scanner iOS-private-api-checker苹果iOS私有API检查工具 iOS开发-如何判断framework是动态库或静态库以及framework静态库转.a静态库 注:本文首发于 iHTCboy's blog,如若转载,请注明来源。

优秀的个人博客,低调大师

MAC使用Nginx搭建RTMP服务器

1、先安装homeView 安装命令 ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" 移除命令 ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall)" 2、安装Nginx服务器 增加对 nginx 的扩展;也就是从github上下载,home-brew对ngixnx的扩展 brew tap homebrew/nginx 3、安装Nginx服务器和rtmp模块,安装过程有点久。稍等。 brew install nginx-full --with-rtmp-module 4、查看nginx的信息 brew info nginx-full nginx的安装位置 /usr/local/Cellar/nginx-full/1.10.1/bin/nginx nginx配置文件所在位置 /usr/local/etc/nginx/nginx.conf nginx服务器根目录所在位置 /usr/local/var/www 使用命令开启nginx: nginx 在浏览器地址栏输入:http://localhost:8080 (直接点击) 图1.jpg 5、配置rtmp open /usr/local/etc/nginx 打开niginx的文件夹,找到nginx.conf文件,用xcode打开。添加下面配置 #在http节点下面(也就是文件的尾部)加上rtmp配置: rtmp {#协议名称 server {#说明内部中是服务器相关配置 listen 12345;#监听的端口号, rtmp协议的默认端口号是1935 application zbcs {#访问的应用路径是 zbcs live on; #开启实时 record off;#不记录数据 } } } 图2.jpg 6、 保存文件后,重新加载nginx的配置文件。 重要操作!一定要重启nginx nginx -s reload 7、 安装ffmepg工具 brew install ffmpeg 8、推流 ffmpeg -re -i /Users/mazaiting/Downloads/台球.mp4 -vcodec copy -f flv rtmp://localhost:12345/zbcs/room 其中abcs是配置文件中的应用名,12345是配置文件中的端口,room可以随便写,"/Users/mazaiting/Downloads/台球.mp4"是推流的视频。 9、观看 使用软件VLC MediaPlayer打开网络串流,Open Media...->Network,输入rtmp://localhost:12345/zbcs/room,点击Open进行观看。 图3.jpg

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册