51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

linux安装phalcon开发环境

# linux 安装 phalcon 开发环境 {#linux-安装-phalcon-开发环境}

本文讲述 linux 系统下 phalcon 开发和运行环境的安装步骤。phalcon 是 php web 框架,区别于传统的 php 框架,它是用 C 语言开发的 php 扩展,所以性能更高。但是同时也比较轻量级,仅提供了 web 开发中常用的功能。
提示

本文仅介绍 linux 环境下的搭建过程,若想了解 linux 环境的安装过程,请前往windows 安装 phalcon 开发环境

# 一. 安装步骤 {#一-安装步骤}

提示

操作系统:CentOS-7-x86_64-Minimal-1503-01

rpm -ivh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
yum install php php-devel pcre-devel gcc make php-mysql php-fpm libtool git nginx mariadb-server -y
cd /root
git clone --depth=1 git://github.com/phalcon/cphalcon.git
cd cphalcon/build
./install

vi /etc/php.ini:

extension=json.so
extension=pdo.so
extension=phalcon.so

php -m

cp ./phalcon.conf /etc/nginx/conf.d/
mv /etc/nginx/conf.d/default.conf /etc/nginx/conf.d/default.conf_bak
systemctl enable php-fpm
systemctl start php-fpm
systemctl enable mariadb
systemctl start mariadb
systemctl start nginx
systemctl enable nginx
firewall-cmd --add-port=80/tcp --permanent
firewall-cmd --reload
baseUri 设为/

chmod o+w /var/www/html/transcoder/app/cache //假定应用为 transcoder
chcon -t httpd_sys_rw_content_t /var/www/transcoder/app/cache //假定应用为 transcoder,工程所有需要写文件权限的地方都要执行此操作,打开 selinux 的写权限,多级目录注意加-R 选项,表示递归
访问http://ip

安装 Phalcon dev tools
cd /root
git clone git://github.com/phalcon/phalcon-devtools.git
cd ./phalcon-devtools/
../phalcon.sh

ln -s /root/phalcon-devtools/phalcon.php /usr/bin/phalcon
chmod ugo+x /usr/bin/phalcon
phalcon

# 1. 若改用 apache(即不用 nginx) {#_1-若改用-apache-即不用-nginx}

vi /etc/httpd/conf/httpd.conf:

systemctl enable httpd
systemctl start httpd
chmod o+w /var/www/html/transcoder/app/cache //假定应用为 transcoder
chcon -t httpd_sys_rw_content_t /var/www/transcoder/app/cache //假定应用为 transcoder,工程所有需要写文件权限的地方都要执行此操作,打开 selinux 的写权限
访问http://ip/transcoder

# 2. 安装 xdebug {#_2-安装-xdebug}

约定:

  • phpstorm 所在客户端 IP 为 10.96.15.152
  • 服务器 IP 为 10.96.15.73
  • web 服务器选用 apache(若改用 nginx,则关掉 httpd 服务,启动 nginx 和 php-fpm 服务,同样可实现远程调试)
  • 项目根目录在服务器的绝对路径:/var/www/html/transcoder

# 1> 安装配置服务端 {#_1-安装配置服务端}

yum install php-pear -y
pecl install xdebug

vi /etc/php.ini,结尾追加如下内容:

[Xdebug]
zend_extension = /usr/lib64/php/modules/xdebug.so
xdebug.remote_enable=1
xdebug.remote_host= 10.96.15.152
xdebug.remote_port=9000
xdebug.max_nesting_level=200
xdebug.idekey="PHPSTORM"
xdebug.remote_autostart = 1
xdebug.remote_connect_back=1 //若加上这一项则服务端自动检测客户端 IP,覆盖xdebug.remote_host 配置项,适合多人协作时使用

php -m

systemctl restart httpd //重启 httpd,新增 php 模块才会加载到 httpd 服务

# 2> 配置 phpstorm {#_2-配置-phpstorm}

配置样例见: phpStorm10.0.2Settings.jar

更改下图中突出显示部分:

拷贝现有的 transcoder 调试配置

更改下图中突出显示部分

以下 3 个命令仅针对 transcoder 项目
touch /var/www/html/transcoder/log
chmod o+w /var/www/html/transcoder/log
chmod a+w /var/www/html/transcoder/app/cache

# 3> 安装和启用火狐浏览器 xdebug 插件 {#_3-安装和启用火狐浏览器-xdebug-插件}

# 4> 远程部署 {#_4-远程部署}

复制现有配置 localApache

更改如下图突出显示部分

远程服务器上创建项目发布目录

选择工程根位置

可见 transcoder 项目文件已上传成功

# 5> 调试 web 应用 {#_5-调试-web-应用}

选择配置,并开启调试按钮

# 6> 调试命令行脚本 {#_6-调试命令行脚本}

  1. 确认 phpstorm 中的服务器名称配置

  2. 启动监听

  3. 设置环境变量
    export PHP_IDE_CONFIG=serverName=remoteServer //取值为第 1 步中配置的名称

  4. 执行命令行程序
    php -dxdebug.remote_host=10.96.15.95 /var/www/html/transcoder/app/CLIApplications/transcoder.php main test world11 universe11 //假定 10.96.15.95 为 phpstorm 所在机器 IP

# 3. 若改用 CentOS 6.4 x86_64,则步骤如下 {#_3-若改用-centos-6-4-x86-64-则步骤如下}

yum install epel-release
rpm -ivh http://rpms.famillecollet.com/enterprise/6/remi/x86_64/remi-release-6.6-1.el6.remi.noarch.rpm
vi /etc/yum.repos.d/epel.repo

yum install mysql-server httpd
vi /etc/httpd/conf/httpd.conf

yum install php56 --enablerepo=remi

ln -s /usr/bin/php56 /usr/bin/php
//service httpd start
yum install php-fpm --enablerepo=remi
service php-fpm start
yum install php-mysql --enablerepo=remi
yum install nginx --enablerepo=remi
yum install php-devel --enablerepo=remi
service nginx start
提示

编译步骤没有成功,然后做如下红字操作就编译成功了(卸载掉,重新安装)
rpm -e php56-runtime php56-php-cli php56-php-pear php56-php-pecl-jsonc php56-php-process php56 php-mysql-5.4.45-2.el6.remi.x86_64 php56-php-common php-common php-pdo php56-php-pecl-zip php56-php-xml php-fpm

yum install -y php56-runtime php56-php-cli php56-php-pear php56-php-pecl-jsonc php56-php-process php56 php-mysql-5.4.45-2.el6.remi.x86_64 php56-php-common php-common php-pdo php56-php-pecl-zip php56-php-xml php-fpm

yum install php-devel php-cli --enablerepo=remi
糊涂了,经判断,我们使用的是 5.4.45,而 php56 系列包没用

到此 nginx 下可成功运行 phalcon 应用
yum install php-5.4.45-2.el6.remi.x86_64 --enablerepo=remi //向 apache 加入 php 模块
service httpd restart
到此 httpd 下也可成功运行 phalcon 应用
yum install php-pear

远程调试没有走通

# 二. 注意事项 {#二-注意事项}

  • 有必要配置对上传文件的限制, web 服务器和 php 均需配置,以 nginx 为例
  1. vi /etc/nginx/conf.d/phalcon.conf

    client_max_body_size 2M;

  2. vi /etc/php.ini

    upload_max_filesize = 2M post_max_size = 8M //必然大于 upload_max_filesize max_file_uploads = 20

  • 若采用 nginx,则 nginx 还需加入如下配置,避免出现错误" upstream sent too big header while reading response header from upstream"

vi /etc/nginx/conf.d/phalcon.conf

fastcgi_buffer_size 128k;
fastcgi_buffers 4 256k;
fastcgi_busy_buffers_size 256k;

赞(0)
未经允许不得转载:工具盒子 » linux安装phalcon开发环境