当前位置: 首页 > 知识库问答 >
问题:

如何自动启用PHP扩展在家园上流浪汉

南宫建白
2023-03-14

我使用Laravel 5.3在家园与Vagant 1.8.7运行在VirtualBox.

我需要启用一些PHP扩展。

我知道我可以用ssh连接到框中并编辑php.ini以启用扩展,但这似乎是一种非常反流浪的方式。

我想告诉Vagrant为这个盒子提供特定的php扩展,这样我就可以简单地调用Vagrant up--provision,盒子就可以启动了(有点像Vagrant,对吧?)

那么,我们如何在流浪者的家园中自动启用php扩展呢?

共有3个答案

莫繁
2023-03-14

您应该首先使用ssh登录Homestad服务器(可能您已经知道这一点-流浪者ssh)。

然后转到/etc/php/7.0/fpm/还有这个位置的cli/etc/php/7.0/cli/编辑它与sudo viphp.ini(esc和: wq保存更改)。

然后您应该重新启动nginx:

sudo nginx -s reload"

然后,重新启动php fpm:

sudo service php7.0-fpm restart" 

如果您不确定在您的家园上是PHP5.x还是PHP7.x,请使用

find / -name php.ini

要找到php.ini-你可能会得到2或3个结果。

袁枫涟
2023-03-14

以防仍然需要这个:

=

=

sudo apt-get update
sudo apt-get install php7.0-apcu -y
sudo service php7.0-fpm restart

或者简单地添加到after.sh:

sudo apt-get install php7.x-apcu -y
红智鑫
2023-03-14

经过一些修补,下面是我想出的。我不保证这是正确的方法,只是在我的情况下,这似乎是有效的:

在.sh之后查找安装homestead时生成的。对我来说,在Mac El Capitain上,文件是在~/.homestead/after.sh创建的,我想象在windows上的类似位置有一个.bat

不要错误地编辑~/homestad/src/stubs/after.sh,这是homestad安装中的模板文件,而不是您实际生成的副本。

将以下行添加到.sh之后的(这是我的整个文件,默认文件中只有前5行注释):

#!/bin/sh

# If you would like to do some extra provisioning you may
# add any commands you wish to this file and they will
# be run after the Homestead machine is provisioned.

# in the below --assume-yes is to avoid confirms [y/N]
# DEBIAN_FRONTEND=noninteractive is to avoid a big menu asking if it's ok to 
# overwrite the php.ini file, may make --assume-yes redundant, not sure

# run apt-get update first, without it I was getting errors not finding the extensions 
sudo DEBIAN_FRONTEND=noninteractive apt-get --assume-yes update

# load any extensions you like here 
sudo DEBIAN_FRONTEND=noninteractive apt-get --assume-yes install php-xdebug 
sudo DEBIAN_FRONTEND=noninteractive apt-get --assume-yes install php7.0-ldap # update to php7.2-ldap if using php 7.2 etc...

# enable xdebug via cli
sudo phpenmod -s cli xdebug

# restart php and nginx
sudo service php7.3-fpm restart && sudo service nginx restart

如果你在心理上不知道你需要的扩展名的确切名称(我不知道),你可以使用sudo-apt-cache-search php7-*或类似工具列出可用的扩展名

现在,如果你有宅地,在终端,cd到你的宅地目录,为我cd~/homestad,然后运行vagrant destroy

/homestad内运行流浪者-供应

要检查扩展是否安装正确,在/Homestad中运行以下两个命令:

流浪ssh

php-r“打印(获取加载的扩展());”

我的输出(添加了33和61):

DoDSoftware:Homestead DOoDSoftware$ vagrant ssh
Welcome to Ubuntu 16.04 LTS (GNU/Linux 4.4.0-22-generic x86_64)

 * Documentation:  https://help.ubuntu.com/
vagrant@homestead:~$ php -r "print_r(get_loaded_extensions());"
Array
(
    [0] => Core
    [1] => date
    [2] => libxml
    [3] => openssl
    [4] => pcre
    [5] => zlib
    [6] => filter
    [7] => hash
    [8] => pcntl
    [9] => Reflection
    [10] => SPL
    [11] => session
    [12] => standard
    [13] => mysqlnd
    [14] => PDO
    [15] => xml
    [16] => apcu
    [17] => apc
    [18] => bcmath
    [19] => calendar
    [20] => ctype
    [21] => curl
    [22] => dom
    [23] => mbstring
    [24] => fileinfo
    [25] => ftp
    [26] => gd
    [27] => gettext
    [28] => iconv
    [29] => igbinary
    [30] => imap
    [31] => intl
    [32] => json
    [33] => ldap
    [34] => exif
    [35] => mcrypt
    [36] => msgpack
    [37] => mysqli
    [38] => pdo_mysql
    [39] => pdo_pgsql
    [40] => pdo_sqlite
    [41] => pgsql
    [42] => Phar
    [43] => posix
    [44] => readline
    [45] => shmop
    [46] => SimpleXML
    [47] => soap
    [48] => sockets
    [49] => sqlite3
    [50] => sysvmsg
    [51] => sysvsem
    [52] => sysvshm
    [53] => tokenizer
    [54] => wddx
    [55] => xmlreader
    [56] => xmlwriter
    [57] => xsl
    [58] => zip
    [59] => memcached
    [60] => blackfire
    [61] => Zend OPcache
    [62] => xdebug
)

正如我在开始时所说的,我不能说这是正确的方法,但到目前为止它对我有效。

 类似资料:
  • 我想让short_open_tagsphp.ini 我想访问配置了homestead的vagrant box上的php.ini。我在/etc/php5/fpm/php.ini中看到了php.ini文件 但是有人知道吗? 谢谢

  • 我对homestead和vagrant不熟悉,我安装了homestead,如laravel文档所示,但访问地址:192168.10.10时出现超时错误。 在此错误之前,我在ip上获得错误请求超时,因此我取消注释此行: 然后网络开始工作。 我也没有评论这一行: 所以它开始向我显示端口前进。 然后,我将这一行取消注释: 但还是有误差,不知道现在是什么误差。我通过登录ssh检查nginx文件夹:流浪汉s

  • 我已经开始使用Azure并测试与Microsoft SQL数据库的连接。我想利用我们目前的php_odbc。dll扩展,而不是使用PDO方法。 我已经通过配置via App设置和配置via ini设置执行了添加扩展的步骤。这两种方法都会导致我的主索引页抛出500错误。我的主要索引。php只包括phpinfo();用于测试的函数。 https://docs.microsoft.com/bs-latn

  • 问题内容: 我已经在Ubuntu 14.04(Trusty Tahr)上安装了PHP 7和MySQL 5.5.47。 我已经使用以下方法检查了已安装的扩展程序: 它输出: 我也无法使用phpinfo()看到MySQLi扩展。如何在PHP 7中启用/安装MySQLi扩展? 这就是为什么我不能使用phpMyAdmin的原因。它说:“缺少mysqli扩展名。” 问题答案: 我找到了解决方案。我可以在ph

  • 我试图在Mac OS X上按照官方的留档说明安装Laravel家园。 我安装了VirtualBox和Vagrant。现在,我正尝试使用命令添加Homestead框。过了一会儿,下载停止了,我得到一个错误。它不允许我恢复下载,所以我必须删除部分下载文件并从零开始。我已经试过很多次了。 我想我的互联网连接有点慢,而且文件很大。 以下是完整的代码: 重试后: 感谢您的帮助。

  • 我正在尝试安装一些symfony捆绑包来创建本教程中的管理工具:http://www.ens.ro/2012/07/13/symfony2-jobeet-day-12-the-admin-bundle/ 我正在使用symfony 2.3。*我使用composer作为我的依赖项,如下所述:无法使用composer设置奏鸣曲 但是,当我尝试按照上面的composer文件(php composer.ph