`
sillycat
  • 浏览: 2542939 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

Grav CMS System(1)Install PHP7 on MAC

    博客分类:
  • PHP
 
阅读更多
Grav CMS System(1)Install PHP7 on MAC

Download the latest PHP 7
https://secure.php.net/downloads.php

I download the latest version
http://am1.php.net/distributions/php-7.2.11.tar.gz

Unzip the file and I get php-7.2.11

Build the source file
> ./buildconf

It is said
You should not run buildconf in a release package.
use buildconf --force to override this check.

Ok, I will ignore that and go to the second steps.

> ./configure --prefix=/Users/hluo/tool/php-7.2.11 --enable-fpm --with-fpm-user=www --with-fpm-group=www --with-mysqli --with-pdo-mysql --with-iconv-dir --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --disable-rpath --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --enable-mbregex --enable-mbstring --enable-ftp --with-gd --with-openssl --with-mhash --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-soap --without-pear --with-gettext --disable-fileinfo --enable-maintainer-zts

Exception:
configure: WARNING: unrecognized options: --with-mcrypt, --enable-gd-native-ttf

checking for cURL in default path... not found
configure: error: Please reinstall the libcurl distribution -
      easy.h should be in <curl-dir>/include/curl/

Solution:
https://blog.csdn.net/towtotow/article/details/78956086
For the warning, just delete options —with-mcrypt and —enable-gd-native-ttf

https://curl.haxx.se/libcurl/
I get the latest file
> wget https://curl.haxx.se/download/curl-7.61.1.tar.gz
configure && make && sudo make install

It solved the libCURL issue.

Exception
checking whether to enable JIS-mapped Japanese font support in GD... no
If configure fails try --with-webp-dir=<DIR>
configure: error: jpeglib.h not found.

Solution:
http://mac-dev-env.patrickbougie.com/libjpeg/
http://libjpeg.sourceforge.net/

> wget https://phoenixnap.dl.sourceforge.net/project/libjpeg/libjpeg/6b/jpegsrc.v6b.tar.gz
Unzip and configure and make and make install
This does not work, try other solution.
https://gist.github.com/darul75/9125097

> brew install libjpeg
This works
https://github.com/stewartlord/identicon.js/issues/21
> xcode-select --install
> brew install pkgconfig
> brew install pixman
> brew install libjpeg
> brew link jpeg
> brew link --overwrite jpeg
> brew install giflib
> brew install cairo
> export LDFLAGS="-L/usr/local/opt/libffi/lib"

Exception:
configure: error: Cannot locate header file libintl.h

Solution:
https://stackoverflow.com/questions/14940383/how-to-install-gettext-on-macos-x
> brew install gettext
> brew link --force gettext

Exception:
checking for libiconv... no
configure: error: Please specify the install prefix of iconv with --with-iconv=<DIR>

Solution:
http://www.gnu.org/software/libiconv/#downloading
> wget https://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.15.tar.gz
configure and make and sudo make install that.

Go on with PHP steps
> ./configure --prefix=/Users/hluo/tool/php-7.2.11 --enable-fpm --with-fpm-user=www --with-fpm-group=www --with-mysqli --with-pdo-mysql --with-iconv-dir --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --disable-rpath --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --enable-mbregex --enable-mbstring --enable-ftp --with-gd --with-openssl --with-mhash --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-soap --without-pear --with-gettext --disable-fileinfo --enable-maintainer-zts

> make

Error when make runs
Undefined symbols for architecture x86_64:
  "_libiconv", referenced from:
      _do_convert in gdkanji.o
      _zif_iconv_substr in iconv.o
      _zif_iconv_mime_encode in iconv.o
      _php_iconv_string in iconv.o
      __php_iconv_strlen in iconv.o
      __php_iconv_strpos in iconv.o
      __php_iconv_appendl in iconv.o
      …
"_libiconv_open", referenced from:
      _do_convert in gdkanji.o
      _zif_iconv_substr in iconv.o
      _zif_iconv_mime_encode in iconv.o
      _php_iconv_string in iconv.o
      __php_iconv_strlen in iconv.o
      __php_iconv_strpos in iconv.o
      __php_iconv_mime_decode in iconv.o
      ...
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1
[sapi/cli/php] Error 1

Solution:
https://jzz.moe/mac-e7-bc-96-e8-af-91php7-e6-97-b6-e5-bc-95-e5-85-a5openssl-e6-97-b6-e7-9a-84-e9-94-99-e8-af-afundefined-symbols-for-architecture-x86_64/
http://www.voidcn.com/article/p-zvhevcwx-nh.html
https://blog.csdn.net/ligaofeng/article/details/52674696

Try install
http://mac-dev-env.patrickbougie.com/openssl/
Not work as expect
> brew install libiconv
> brew link libiconv
> export LDFLAGS="-L/usr/local/opt/libiconv/lib"
> export CPPFLAGS="-I/usr/local/opt/libiconv/include"

Try to find one line in Makefile, change that as follow:
EXTRA_LIBS = -lz -lresolv -liconv -liconv -lintl -lpng -lz -ljpeg -lz -lm -lpthread -lxml2 -lz -licucore -lm -lcurl -lxml2 -lz -licucore -lm -lfreetype -lxml2 -lz -licucore -lm -lxml2 -lz -licucore -lm -lxml2 -lz -licucore -lm -lxml2 -lz -licucore -lm -lxml2 -lz -licucore -lm -lxml2 -lz -licucore -lm /usr/local/Cellar/openssl/1.0.2n/lib/libcrypto.dylib /usr/local/Cellar/openssl/1.0.2n/lib/libssl.dylib
/usr/local/Cellar/libiconv/1.15/lib/libiconv.dylib

No, not the right one, try another
EXTRA_LIBS = -lz -lresolv -liconv -liconv -lintl -lpng -lz -ljpeg -lz -lm -lpthread -lxml2 -lz -licucore -lm -lcurl -lxml2 -lz -licucore -lm -lfreetype -lxml2 -lz -licucore -lm -lxml2 -lz -licucore -lm -lxml2 -lz -licucore -lm -lxml2 -lz -licucore -lm -lxml2 -lz -licucore -lm -lxml2 -lz -licucore -lm /usr/local/Cellar/libiconv/1.15/lib/libiconv.dylib -lssl -lcrypto

Finally the make command and make install command works.
Check the installation
> php -version
PHP 7.2.11 (cli) (built: Oct 23 2018 08:40:58) ( ZTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies



References:
https://getgrav.org/
http://www.xuxiaobo.com/?p=3779
https://learn.getgrav.org/
https://github.com/getgrav/grav
https://www.jianshu.com/p/25354b712727
PHP and FPM
http://sillycat.iteye.com/blog/2223621
https://lowendbox.com/blog/php-on-centos-7-php-fpm/
https://wizardforcel.gitbooks.io/nginx-doc/content/Text/6.5_nginx_php_fpm.html
Mac
https://segmentfault.com/a/1190000003067656
https://segmentfault.com/a/1190000002904436
https://www.jianshu.com/p/907eec663cf1
分享到:
评论

相关推荐

    Grav一个快速简单灵活基于文件的CMS

    Grav是一个轻量级、高性能的内容管理系统(CMS),它基于PHP语言开发,专注于提供快速、简单且灵活的网站构建解决方案。Grav不依赖传统的数据库,而是采用文件系统存储内容,这种设计使得Grav在安装、配置和扩展上比...

    ansible-grav:Ansible剧本,用于安装NGINX,PHP7-FPM和Grav CMS

    该剧本安装了NGINX,PHP7和Grav。 它还会安装和推荐PHP模块,并根据建议对php.ini和调整。 这些配置来自Grav文档中显示的内容。 Master分支将安装Grav Admin'Vanilla'单页网站。 如果要尝试使用“ 氦骨架”站点,则...

    Grav:现代、简单且功能强大的平面文件 CMS-开源

    Grav 是一个现代开源平面文件 CMS。 性能不仅仅是事后的想法,我们从一开始就将其融入其中。 Grav 拥有强大的 API 和复杂的包管理器,使其非常灵活。 Grav 是开源的,所有代码都可以在 GitHub.com 上找到。 Grav ...

    JsonDB:Grav CMS 的简单 JsonDB 类

    **JsonDB:Grav CMS 的简单 JsonDB 类** 在 Web 开发领域,内容管理系统(CMS)如 Grav CMS 提供了一种便捷的方式来管理和发布网站内容。Grav 是一个基于 PHP 的现代、轻量级且无需数据库的 CMS。它依赖于文件系统...

    grav-theme-mache:Grav CMS的Mache主题

    Grav CMS的Mache主题 麻车的主题是港口通过通过,原PSD设计 。 Mache HTML模板不包含博客和联系表单的设计。 为了使该Grav主题更有用,该Grav主题的作者根据Mache HTML模板提供的样式添加了博客和联系表单。 博客和...

    grav-plugin-blackhole:Grav CMS的静态站点生成器

    这 :black_circle: Blackhole插件适用于 。 如果此插件对您有帮助,请 描述 为什么是黑洞? Grav是一个空格术语,因此我认为此插件也应效仿。...必须在Grav System Configuration(重力系统配置)中启用绝对URL

    grav-skeleton-x-corporation:Grav CMS的X公司骨架

    Grav CMS的X-Corporation主题 X-Corporation主题是进行的的。 演示版 可在上获取此骨架的演示。 特征 专业的用户界面 React灵敏且移动友好 轻量级和快速加载 干净利落的字体 大型,粘性和画布菜单 搜索引擎优化 ...

    超文本:极其基本的Grav CMS主题

    有时1MB或更多! 这些会降低浏览器的速度并造成兼容性问题。 Grav是一个非常强大的CMS,但对于想要尽可能接近手动编码HTML的用户,应该有一个选择。 该主题试图将形式和功能分开以创建真正独特的体验。 ! 产品特点...

    grav-theme-x-corporation:X-Corporation主题是uiCookies用于Grav CMS的X-Corporation的移植

    Grav CMS的X-Corporation主题 X-Corporation主题是进行的的。演示版有关这个主题的演示,请访问特征专业的用户界面React灵敏且移动友好轻量级和快速加载干净利落的字体大型,粘性和画布菜单搜索引擎优化兼容现代...

    docker-getgrav:用于GRAV CMS的Docker映像

    Grav-码头工人Docker容器。 该图像基于PHP fpm-buster图像。 您可以在找到源代码标签最新(当前为1.7) 最新产品(当前为1.7产品) 1.6 1.6。* 1.6产品1.6。*-prod 1.7 1.7。* 1.7产品1.7。*-prod用法这纯粹是基于...

    grav-theme-foundation:使用Foundation框架的Grav CMS响应式基本主题

    基础 Foundation是使用Zurb的Foundation前端框架的... 在您的Grav安装目录的根目录中: bin/gpm install foundation这会将Foundation主题安装到Grav中的/user/themes目录中。 它的文件可以在/your/site/grav/user/them

    grav-theme-freelancer:Grav CMS 的自由职业者主题

    Grav 的自由职业者主题 这个 Grav 主题基于的,源自的。 演示 这个主题的演示可以在这里找到: : 完全加载的 Grav 骨架,所有必要的插件和内容都在此处提交: : 特征 flaticons.com 的平面图标 包含 LESS 文件和...

    grav-skeleton-freelancer-site:Grav CMS 的自由职业者主题骨架

    Grav 的自由职业者骨架 这个 Grav 骨架基于,而又基于的,该源自的。演示这个骨架的演示可以在这里找到: : 另外添加了内容的基本本地化,请尝试: (与相同) 特征flaticons.com 的平面图标包含 LESS 文件和编译的 ...

    grav-plugin-editable-contenttools:Grav CMS 的前端 WYSIWYG 编辑器

    Grav 可使用 ContentTools 插件进行编辑 使用ContentTools可编辑插件是用于。 版本 1.6.2 已成功通过 Grav 1.7.0-rc.20 测试 该插件允许作者使用 WYSIWYG 编辑器在前端编辑页面内容并将其保存为 Markdown。 重要...

    topicmenu:Grav CMS插件可创建所选分类法的多维数组

    Grav Topic菜单插件 topicmenu是一个简单的插件,它遍历网站的一部分(通常为/blog ,并创建一个包含第一级分类法和与之相关的每个第二级分类法的二维数组。 换句话说,它返回一个像这样的数组: topicmenu_array...

    grav-learn:Grav Learn(详尽的grav文档)

    Grav文档 这是所有功能的存储库。 我们称之为骨架,因为它可以替代Grav中的user/文件夹。 要安装您自己的学习站点副本,只需执行以下步骤: 从网站 将ZIP存档解压缩到您的Web根目录中(例如~/www/grav-learn/ ) ...

    wp-to-grav:将 WP 博客迁移到 Grav 的简单工具

    #WP 到 GRAV 这是一个使用将 WP 博客...之后,只需安装 de 节点模块 cd wp-to-grav && npm install 并运行代码,通知您从 WP 导出的 xml node index.js [yourfile.xml] 如果一切顺利,您的帖子应该在“帖子”目录中!

    grav3d-gui_gravityinversion_python_zip.zip

    《基于Python的重力反演GUI程序:grav3d-gui深入解析》 在现代地球科学和地质勘探领域,重力反演是一种重要的技术手段,它通过对地表或地下物体的重力场进行分析,来推断其密度分布和结构特征。在Python编程环境中...

    grav-blog:我的 Grav 博客

    它遵循与其他平面文件 CMS 平台类似的原则,但具有与大多数不同的设计理念。 Grav 带有一个强大的包管理系统,允许简单地安装和升级插件和主题,以及简单地更新 Grav 本身。 Grav 的底层架构设计为在适用的情况下...

Global site tag (gtag.js) - Google Analytics