我在 ubuntu 14.04.5 上安装了 php 5.6.30,并与 nginx 1.12.1 一起运行
我想运行 laravel 5.5,所以我需要获取 php7+ 和几个 php 扩展。
以下是我尝试安装它们的方法
$ sudo apt-get install php7.1 php7.1-cli php7.1-curl php7.1-json php7.1-mcrypt php7.1-opcache php7.1-xml php7.1-cgi php7.1-common php7.1-fpm php7.1-mbstring php7.1-mysql php7.1-readline php7.1-xmlrpc
最后一条消息说“ php7.1-fpm start/running, process 24107
”
$ php -v
PHP 7.1.10-1+ubuntu14.04.1+deb.sury.org+1
但确实如此不是有一个套接字文件:
$ ls /var/run/php
php5.6-fpm.pid php5.6-fpm.sock
因此我尝试了几件事:
$ service nginx restart
* Restarting nginx nginx
$ service php7.1-fpm start
php7.1-fpm start/running, process 4426
但仍然:
$ ls /var/run/php
php5.6-fpm.pid php5.6-fpm.sock
fastcgi_pass unix:/var/run/php/php7.1-fpm.sock;
因此,由于不存在虚拟主机,所以我的网站无法使用虚拟主机!
深入挖掘后,我发现我的机器上没有为 php7.1 创建配置文件。 和/etc/php/7.1/fpm/conf.d
都是/etc/php/7.1/fpm/pool.d
空的。 所以我甚至不知道该把 放在哪里listen = /run/php/php7.1-fpm.sock
更糟糕的是,没有 php.ini:
$ php --ini
Configuration File (php.ini) Path: /etc/php/7.1/cli
Loaded Configuration File: (none)
Scan for additional .ini files in: /etc/php/7.1/cli/conf.d
Additional .ini files parsed: (none)
我尝试重新安装几次,但还是出现同样的情况。我可能遗漏了什么?
答案1
找到解决方案 - 由于某种原因,我最初的 php7 安装已损坏。然后我卸载它apt-get remove php7.0 php...
并留下一些损坏的文件
apt-get purge php7.0 php...
当我将它们全部删除并重新安装后,它终于起作用了。