php5开发环境搭建
ubuntu 16.04 开发环境
全新虚拟机,数据源切换为阿里,
nginx version: nginx/1.12.2
sqlite 3.7.17-8.el7
php5.6
install ssh
sudo apt install ssh |
安装nginx
sudo apt install nginx |
访问以下网页 http://192.168.153.141/ 应该看到 nginx 的信息
the configuration file /etc/nginx/nginx.conf
default index.html located in /usr/share/nginx/html
sqlite3
sudo apt-get install sqlite3 |
源码安装 php5.6.40
tar -jxf filename.tar.bz2 |
编译环境
apt-get install \ |
配置编译
./configure –prefix=/opt/php –with-config-file-path=/opt/php/lib –enable-mbstring –enable-ftp –with-gd –with-jpeg-dir=/usr –with-png-dir=/usr –with-mysql=mysqlnd –with-mysqli=mysqlnd –with-openssl-dir=/usr –with-pdo-mysql=mysqlnd –with-pear –enable-sockets –with-freetype-dir=/usr –enable-gd-native-ttf –with-libxml-dir=/usr –with-xmlrpc –enable-zip –enable-fpm –enable-fpm –with-freetype-dir=/usr/lib/ –enable-cli
./configure --prefix=/usr/local/php \ |
将PHP的可执行目录添加到环境变量中
使用Vim/Sublime打开~/.bashrc,在末尾添加如下内容:
export PATH=/usr/local/php/bin:$PATH |
添加完毕后
source ~/.bashrc |
此时就可以通过 php –version 查看php版本了。
php -m 查看已安装的扩展
php5
安装对应模块-然后在 phpinfo 里面检查是否安装正确
删除自带的php
sudo apt install aptitude
sudo aptitude purge dpkg -l | grep php| awk '{print $2}' |tr "\n" " "
sudo apt-get install software-properties-common |
test php support is ok
nano /usr/share/nginx/html/phpinfo.php |
| module | comment |
|---|---|
| php56-php-mbstring | 字符集支持 |
| php56-pdo | sqlite3 数据库支持 |
| php56-gd | gd扩展是一个开源的图像处理库,支持JPG、PNG、GIF等常见的图片格式。 |
配置PHP5.6
//need restart nginx
sudo nginx -s reload
安装完 pdo 需要重启
service php-fpm restart
5.启用php5-mcrypt:
sudo phpenmod mcrypt
6.重启php5-fpm:
sudo service php5.6-fpm restart
support php
这里先配置,安装完 php 在测试结果
执行命令 cd /etc/nginx/conf.d 打开 Nginx 服务配置文件目录。
执行命令 sudo nano php56.conf 创建域名规则配置文件
每个域名建立一个独立的配置文件,输入下面配置信息。
server |
重启服务,然后访问 phpinfo.php 页面
// restart
sudo nginx -s reload
配置防火墙
firewall-cmd --zone=public --permanent --add-service=http |
测试
http://SERVER_DOMAIN_NAME_OR_IP
配置文件和路径
默认web服务路径/etc/nginx |
debug
ide 所在的机器是本地端,php web 服务部署的机器是远端
从用户发起请求到,到IDE的整个流程图如下:
当用户的请求参数或者cookie中不带调试信息,数据流就是浏览器到Apache(或其他web容器)到PHP,如果加上了调试参数,则请求还会由PHP转给Xdebug处理,Xdebug再把信息转发给IDE,完成调试功能。
PHP 安装 Xdebug 模块
https://xdebug.org/docs/install
PHP 5.6 – Xdebug 2.5
phpize 是用来扩展php扩展模块的,通过phpize可以建立php的外挂模块
编译 xdebug
sudo yum install php-devel
which phpize
tar xzf xdebug
/usr/bin/phpize
./configure –enable-xdebug –with-php-config=/usr/bin/php-config
make
make test
sudo make install
重启php-fpm,可以通过phpinfo()检查你的xdebug是否安装成功,也可以随便写段错误的php代码,刷新浏览器,就能看到错误提示。
service php-fpm restart
配置php.ini文件
[Xdebug]
zend_extension=”/usr/lib64/php/modules/xdebug.so”
xdebug.profiler_enable=on
xdebug.trace_output_dir=”/usr/local/php5/xdebug/“
xdebug.profiler_output_dir=”/usr/local/php5/xdebug/“
xdebug.remote_enable=on
xdebug.remote_handler=dbgp
xdebug.remote_port=5000 //注意这里是,客户端的端口<即IDE的机器的ip,不是你的web server>
xdebug.idekey=”PHPSTORM”
xdebug.remote_autostart = 1
xdebug.remote_mode = req
xdebug.remote_connect_back = 1
xdebug.remote_log = /tmp/xdebug.log
php –version
返回信息应该看到 xdebug 的相关信息
phpstorm 配置
php5.6 use Xdebug 2.5.5-5.6
In the Settings/Preferences dialog (Ctrl+Alt+S), select Languages & Frameworks | PHP.
调试配置选择 php web page
mysql5
安装mysql数据库服务器 这里默认的是5.7 ,root:1qaz
sudo apt-get install mysql-server |
下面是解决问题: 1045 - Access denied for user
现在设置mysql允许远程访问,首先编辑文件/etc/mysql/mysql.conf.d/mysqld.cnf
注释掉bind-address = 127.0.0.1
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf |
登陆数据库
mysql -uroot -p |
重启 mysql 服务
service mysql restart |
#服务启动后端口查询
sudo netstat -anp | grep mysql
安装web服务器apache
sudo apt-get install apache2 |
在浏览器输入localhost查看,是否有网页显示 It works! 字样
config php
support mysql
sudo nano /etc/php/5.6/apache2/php.ini
配置时区
;date.timezone =
改成:
date.timezone = Asia/Shanghai
win
去掉模块前面的注释
display_errors = on
extension=php_mbstring.dll
extension=php_mysql.dll
mysql_connect(dbIp,name,pwd)
mysql_select_db(dbName)
mysql_set_chartset(encode)
mysql_query(“set names ‘gbk’”)
mysql_fetch_array(source data) //返回下标与键名数组
mysql_fetch_row(资源数据) //返回下标数组
mysql_fetch_object(资源数据) //返回对象形式调用
mysql_num_rows(数据资源)
mysql_close(数据资源)
ubuntu
[PDO_SQLITE] |
sqlite
sudo apt-get install sqlite php5.6-sqlite3
sudo /etc/init.d/apache2 restart
centos7
centos7.2 64bit
nginx version: nginx/1.12.2
sqlite 3.7.17-8.el7
php5.6
ssh -i “e:\active_project\ext_project\gis\id_rsa_gisServer” tyler@47.100.193.211
使用 docker 搭建生产环境,这个后面再弄
安装nginx
yum -y update |
the configuration file /etc/nginx/nginx.conf
default index.html located in /usr/share/nginx/html
ps aux | grep nginx |
support php
执行命令 cd /etc/nginx/conf.d 打开 Nginx 服务配置文件目录。
执行命令 sudo nano domain_name.conf 创建域名规则配置文件
每个域名建立一个独立的配置文件,输入下面配置信息。
server |
重启服务,然后访问 phpinfo.php 页面service nginx restart
配置防火墙
firewall-cmd --zone=public --permanent --add-service=http |
测试
http://SERVER_DOMAIN_NAME_OR_IP
配置文件和路径
默认web服务路径/etc/nginx |
sqlite3
这里要注意:数据库文件和所属目录的权限
sudo yum install sqlite-devel |
// 修改项目权限 |
php5
安装对应模块-然后在 phpinfo 里面检查是否安装正确
配置yum源
sudo yum install epel-release |
查看可安装的包
yum list --enablerepo=remi --enablerepo=remi-php56 | grep php56 |
| module | comment |
|---|---|
| php56-php-mbstring | 字符集支持 |
| php56-pdo | sqlite3 数据库支持 |
| php56-gd | gd扩展是一个开源的图像处理库,支持JPG、PNG、GIF等常见的图片格式。 |
need restart nginx
安装完 pdo 需要重启
service php-fpm restart
test php support is ok
nano /usr/share/nginx/html/phpinfo.php |
debug
ide 所在的机器是本地端,php web 服务部署的机器是远端
从用户发起请求到,到IDE的整个流程图如下:
当用户的请求参数或者cookie中不带调试信息,数据流就是浏览器到Apache(或其他web容器)到PHP,如果加上了调试参数,则请求还会由PHP转给Xdebug处理,Xdebug再把信息转发给IDE,完成调试功能。
PHP 安装 Xdebug 模块
https://xdebug.org/docs/install
PHP 5.6 – Xdebug 2.5
phpize 是用来扩展php扩展模块的,通过phpize可以建立php的外挂模块
编译 xdebug
sudo yum install php-devel
which phpize
tar xzf xdebug
/usr/bin/phpize
./configure –enable-xdebug –with-php-config=/usr/bin/php-config
make
make test
sudo make install
重启php-fpm,可以通过phpinfo()检查你的xdebug是否安装成功,也可以随便写段错误的php代码,刷新浏览器,就能看到错误提示。
service php-fpm restart
配置php.ini文件
[Xdebug]
zend_extension=”/usr/lib64/php/modules/xdebug.so”
xdebug.profiler_enable=on
xdebug.trace_output_dir=”/usr/local/php5/xdebug/“
xdebug.profiler_output_dir=”/usr/local/php5/xdebug/“
xdebug.remote_enable=on
xdebug.remote_handler=dbgp
xdebug.remote_port=5000 //注意这里是,客户端的端口<即IDE的机器的ip,不是你的web server>
xdebug.idekey=”PHPSTORM”
xdebug.remote_autostart = 1
xdebug.remote_mode = req
xdebug.remote_connect_back = 1
xdebug.remote_log = /tmp/xdebug.log
php –version
返回信息应该看到 xdebug 的相关信息
phpstorm 配置
php5.6 use Xdebug 2.5.5-5.6
In the Settings/Preferences dialog (Ctrl+Alt+S), select Languages & Frameworks | PHP.
调试配置选择 php web page