@、源码安装,最开始,自己通过 ./config  make  make install三步,啥参数也没加,安装好之后,发现/usr/local/php下就一个man文件夹,死都没找到php-fpm之类的东东。后来终究在网上找了个教程:https://www.linuxidc.com/Linux/2016-08/134081.htm

./configure --prefix=/usr/local/php --enable-fpm --enable-inline-optimization --disable-debug --disable-rpath --enable-shared --enable-opcache --with-mysql --with-mysqli --with-mysql-sock --enable-pdo --with-pdo-mysql --with-gettext --enable-mbstring --with-iconv --with-mcrypt --with-mhash --with-openssl --enable-bcmath --enable-soap --with-libxml-dir --enable-pcntl --enable-shmop --enable-sysvmsg --enable-sysvsem --enable-sysvshm --enable-sockets --with-curl --with-zlib --enable-zip --enable-bz2 --with-readline --without-sqlite3 --without-pdo-sqlite --with-pear --with-libdir=/lib/x86_64-linux-gnu --with-gd --with-jpeg-dir=/usr/lib --with-freetype-dir=/usr/local/freetype --enable-gd-native-ttf --enable-xml
。启动后,修改了下nginx的php配置,把相关的#号去掉,重启nginx,在网站目录下增加一个php文件,然后localhost/phpinfo.php,出现了错误,查看nginx错误日志:

connect() failed (111: Connection refused) while connecting to upstream

这个是没有启动php-fpm,执行php-fpm可启动,比如我的是:sudo /usr/local/php/sbin/php-fpm

刷新页面,得到 File Not Found,查看nginx日志:

FastCGI sent in stderr: "Primary script unknown" while reading response header from upstream, client

对于这个错误,看了网上两个答案:

一个是关于文件权限的:https://blog.csdn.net/twqzy/article/details/70214031

一个是关于nginx配置文件的:http://www.jb51.net/article/47916.htm

我的是后者,通过修改nginx配置文件:

fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;

改为

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

最终,测试文件phpinfo.php正确的输出到浏览器了,哈哈。。

--with-freetype-dir=/usr/local/freetype

这个是后续加入的。

开始下载的是freetype2.9.1,但是安装不成功,在安装目录下都没有bin目录。

后来下载了freetype2.7,安装成功了。

下载:https://sourceforge.net/projects/freetype/files/freetype2/2.7/freetype-2.7.tar.gz/download

解压,进入解压目录,

./configure -prefix=/usr/local/freetype

make

sudo make install

然后停掉PHP

sudo pkill php-fpm

接下来进入当初安装PHP的解压目录

make clean  //之前没有执行这条命令,freetype已经没有添加到php中

然后就安装上面安装PHP的步骤走。。

@、连接mysql

作为一个大龄php新手,我决定从w3school下手,学习php。花了几个小时,把基础教程过了一遍。

现在php环境调通了,于是乎,我打算试试php访问mysql。然后,就安装w3school的教程,一步步做。然而的然而是,页面竟然没有反应,没有走报错的分支,也没有走成功的分支。好吧,网上继续找教程,然后到了菜鸟教程网,发现里面的mysql处理方式跟w3school不一样,显然学校的已经过时了。然后到php配置文件中放开扩展 mysqli。重启php-fpm,然后安装菜鸟教程走代码,按对象模式,最终成功了,哈哈。。

@、win7下安装php

原文:https://blog.csdn.net/tdcqfyl/article/details/52351140

参考上文提示的步骤进行操作,服务起不来,直接在命令行输入httpd.exe 运行,提示缺少libssh2.dll,php7ts.dll的报错,后来把服务卸载掉,然后在环境变量path中添加php安装路径和php/ext的路径,然后再重新安装服务(httpd.exe -k install -n Apache2.4),就可以了。

@、php7连接ms sql server

原文:https://blog.csdn.net/sangjinchao/article/details/63678481

https://blog.csdn.net/lilinoscar/article/details/68943994?locationNum=6&fps=1

需要注意的是:官网下载的SQLSRV40.EXE好像只支持php7.0.X版本,开始我用php7.1.19,通过phpinfo()查看,并没有把pdo_sqlsrv扩展加载成功,这样会报sqlsrv_connect未定义的错误。

@、php从ms sql server取数据中文乱码

原文:https://blog.csdn.net/sunchanglong/article/details/50501752

关键:使用php内置函数iconv进行编码转换。

@、解决json_encode对中文进行unicode转码问题

原文:https://www.cnblogs.com/vanone/p/5600728.html

随机推荐

  1. 彻底解决DZ大附件上传问题

    个. 注意:很多人遇到修改php.ini后重应WEB服务后仍然不能生效.这种情况应该先确认一下所改的php.ini是不是当前PHP所使用的.您可以在WEB目录下建立一个php文件,内容很简单就一句话& ...

  2. OpenGL矩阵类(C++) 【转】

    http://www.cnblogs.com/hefee/p/3816727.html OpenGL矩阵类(C++) 概述 创建&初始化 存取器 矩阵运算 变换函数 实例:模型视图矩阵 实例: ...

  3. SVM相关知识及和softmax区别

    1.相对于容易过度拟合训练样本的人工神经网络,支持向量机对于未见过的测试样本具有更好的推广能力. 2.SVM更偏好解释数据的简单模型---二维空间中的直线,三维空间中的平面和更高维空间中的超平面. 3 ...

  4. ambari修改admin密码

    https://community.hortonworks.com/questions/449/how-to-reset-ambari-admin-password.html 1) Postgres ...

  5. 2017.7.18 linux下用户、组和文件的操作

    参考来自:<鸟叔的linux私房菜(基础学习篇)-第14章> 0 目的 在linux下搭建ELK环境时,因为elasticsearch不能在root下操作,所以要为其新增一个用户,以及随之 ...

  6. 2017.7.7 在eclipse中快速查找类:ctrl+shift+T

    快捷键:ctrl+shift+T,用于快速找到某个类.

  7. 使用Ant构建简单项目

    Apache Ant主要用于Java项目的构建.为什么要使用Ant: 1)项目构建不是简单的编译,各种资源需要合理构建,例如有的类需要压缩成jar文件,有的文件需要放在指定位置,有时候需要使用配置文件 ...

  8. azkaban2.5 具体配置以及使用方式

    azkaban支持shell.java.mapreduce以及hive的工作流调度,在对这些不同类型任务调度之前须要配置所相应的插件:azkaban总体分为两部分azkaban executor se ...

  9. 剑指offer——链表相关问题总结

    首先统一链表的数据结构为: struct ListNode { int val; struct ListNode *next; ListNode(int x) :val(x), next(NULL) ...

  10. 倍福TwinCAT(贝福Beckhoff)基础教程 松下官方软件开启报错伺服未就绪怎么办

    一般是伺服到电机的动力线没接好(请查看动力线接线是否正确)   更多教学视频和资料下载,欢迎关注以下信息: 我的优酷空间: http://i.youku.com/acetaohai123   我的在线 ...