深度 Linux 搭建 PHP 开发环境

    多数的 PHP 开发者会使用 Windows 作为开发环境,但是在 Windows 上进行开发,项目大多在 Linux 系统中部署和运行,这就会带来大大小小的问题。比如 Win 中不区分大小写,可能一段相同的代码,在 Linux 中就不能正常运行。还有部分框架在 Win 和 Linux 中会有一些区别,会对开发和部署带来一些影响。所以直接使用 Linux 作为开发环境,可以减少因为环境不同而带来的问题。但是令人痛苦的是,多数的 Linux 对于用户都不够友好,缺少漂亮的操作界面以及较复杂的安装过程,让多数开发者望而却步。幸运的是,咱们国人开发了一款基于 Debian 的 Linux 系统 Deepin Linux,中文简称深度 Linux ,这款系统拥有漂亮的外观,中文语言的支持,安装简单快速,而且拥有一些常用的娱乐工具和办公工具。作为开发环境,非常合适。更多的信息,可以到其官方网站进行了解。本文主要介绍在 Deepin Linux 中搭建适合 PHP 开发者的开发环境。

  • 安装 PHP7.1
 $ sudo apt-get install php7.1-fpm -y

注意事项:千万不要直接执行 sudo apt-get install php7.1,该命令会默认安装 Apache 服务器软件,如果你需要使用 Nginx ,请使用上面的命令进行安装。

  • 安装 PHP7.1 相关的扩展
 $ sudo apt-get install php7.1-mysql php7.1-curl php7.1-xml php7.1-mcrypt php7.1-json php7.1-gd php7.1-mbstring php7.1-zip php7.1-bcmath php7.1-redis -y

重启 Php7.1-fpm。

 $ sudo service php7.1-fpm restart
  • 安装 Nginx 服务器
 $ sudo apt-get install nginx -y

/etc/nginx/sites-available 目录中新建虚拟站点配置文件,粘贴以下内容,部分内容根据自身需要进行修改:

server {
    listen 80;
    server_name phpinfo.test(根据自己的需要进行修改);
    root "/www/phpinfo"(根据自己的需要进行修改);

    index index.html index.htm index.php;

    charset utf-8;

​    location / {
​           try_files $uri $uri/ /index.php?$query_string;
​    }

​    location = /favicon.ico { access_log off; log_not_found off; }
​    location = /robots.txt  { access_log off; log_not_found off; }

​    access_log off;
​    error_log  /var/log/nginx/phpinfo(根据自己的需要进行修改)-error.log error;

​    sendfile off;

​    client_max_body_size 100m;

​    location ~ \.php$ {
​       fastcgi_split_path_info ^(.+\.php)(/.+)$;
​       fastcgi_pass unix:/var/run/php/php7.1-fpm.sock;
​       fastcgi_index index.php;
​       include fastcgi_params;
       fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;    

       fastcgi_intercept_errors off;
​       fastcgi_buffer_size 16k;
       fastcgi_buffers 4 16k;
       fastcgi_connect_timeout 300;
       fastcgi_send_timeout 300;
       fastcgi_read_timeout 300;
​   }

​   location ~ /\.ht {
        deny all;
​   }
}

建立软链接

$ sudo ln -s /etc/nginx/sites-available/配置文件名    /etc/nginx/sites-enabled

在根目录新建 www 目录:

$ sudo mkdir /www

在 www 目录新建 phpinfo 目录作为 phpinfo.test 的项目代码目录

$ sudo mkdir /www/phpinfo

编写一个 php 代码方便测试:

$ vim index.php

<?php
phpinfo();
?>

然后保存退出;
接下来重启 nginx

$ sudo service nginx reload

编辑 hosts 文件

$ sudo vim /etc/hosts
127.0.0.1      phpinfo.test

使用浏览器打开 phpinfo.test 域名就可以看到 phpinfo 输出的信息;

  • 安装 MySQL5.7
$ sudo apt-get install mysql-server-5.7 -y

启动 Mysql

sudo service mysql start

由于 Mysql 当前版本设置密码的方式已经更改,所以我们需要先找到 Mysql 的默认的用户和密码,然后进行登录并修改密码。
首先找到 debian-sys-maint 的密码:

sudo cat /etc/mysql/debian.cnf

找到 debian-sys-maint 的密码,将其复制下来,然后用该用户和密码登录 Mysql

$ mysql -u debian-sys-maint -p 复制的密码

进入 Mysql 后执行以下命令:

mysql> use mysql;
mysql> update user set authentication_string=PASSWORD("你的密码") where User='root';
mysql> update user set plugin="mysql_native_password";
mysql> flush privileges;
mysql> quit;

使用设置的密码重新进行登录,测试是否正常;

  • 安装 Git
sudo apt-get install git -y
  • 安装 Composer
#下载composer可执行文件
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
#执行安装文件
php composer-setup.php
#删除安装文件
php -r "unlink('composer-setup.php');"
#该命令的作用是将该文件移动到环境变量path所在的目录,这样就可以在全局使用composer
sudo mv composer.phar /usr/local/bin/composer

配置阿里云源,加速 Composer

composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
  • 安装 Redis
sudo apt-get install redis-server

PHP 的运行环境已经有了,接下来咱安装开发工具即可:

  • 非常好用的PHP集成开发环境 PHPStrom
  • 受欢迎的代码编辑器 Sublime Text 3Visual Studio CodeAtom
  • 数据库管理软件 DEeaver
  • api接口测试工具 Postman
  • 提高效率的 Albert,类似于 MacOS下 的 Spotlight 和 Alfred,别忘了设置成开机启动
    至此,环境已经搭建完成,快去感受 linux 的便捷吧!

文章同步发布在我的个人博客中,传送门Hesunfly Blog

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 系统环境 所需软件官方下载地址: 一、 安装开发包环境: 二、 关闭iptables和Selinux(生产...
    莫名其妙的一生阅读 1,359评论 0 4
  • 我们的目标是星辰大海! 决定前往全栈开发的道路,后端熟悉并达到中级水平,使用php开发,熟练使用Yii框架搭建项目...
    采香行处蹙连钱阅读 32,037评论 6 24
  • 爱,容易被理解,也容易被误会。爱,它比天还高,比海还深,呈现在我们生活的点点滴滴中,等待我们去发现,去挖掘。“爱”...
    李飞_80bf阅读 252评论 0 0
  • 2005年,我是一个高考生,2015年我是一个为高考生送考的老师。 十年前,我觉得有生之年我得做一回高考监考老师,...
    苏热烈阅读 302评论 0 2