我最近使用Amazon Linux AMI在EC2实例上创建了LAMP服务器。
运用
sudo yum install -y php70-gd
我安装了GD扩展。这一切都很好,我可以使用PHP上传和操作图像。
现在我使用这里的教程使用Amazon Linux 2创建了一个LAMP服务器:https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-lamp-amazon-linux-2.html
我的问题是我无法使GD扩展工作。我试过用
sudo yum install -y gd
这似乎安装了旧版本的GD。我试过了
sudo yum install php-gd
这似乎安装了最新版本的扩展。
但是gd扩展似乎仍然不起作用。当我输入yum info gd在控制台中显示:
Loaded plugins: extras_suggestions, langpacks, priorities, update-motd
Installed Packages
Name : php-gd
Arch : x86_64
Version : 7.2.5
Release : 3.amzn2.0.2
Size : 769 k
Repo : installed
From repo : amzn2extra-lamp-mariadb10.2-php7.2
Summary : A module for PHP applications for using the gd graphics library
URL : http://www.php.net/
License : PHP and BSD
Description : The php-gd package contains a dynamic shared object that will add
: support for using the gd graphics library to PHP.
当我尝试图像调整大小脚本时,我收到一个错误。我试过这个测试脚本:
$testGD = get_extension_funcs("gd"); // Grab function list
if (!$testGD){ echo "GD not installed."; exit; }
echo"<pre>".print_r($testGD,true)."</pre>";
这给了我结果
GD not installed.
显然有些事情是不对的。有人可以帮忙吗?
谢谢
我在Amazon Linux 2上运行php 7.2.14,这对我有用:
$ sudo yum update -y
$ sudo yum install -y php-gd
$ sudo reboot
Amazon Linux 2使用Apache与PHP-FPM而不是mod_php。因此,您需要重新启动php-fpm进程以使用新扩展重新加载PHP。
sudo systemctl restart php-fpm
并解决了...结果重启apache
sudo systemctl restart httpd
加载新安装的组件是不够的......
我需要做的是
sudo reboot
一切正常......
为什么我24小时前都没试过!
我收到错误在使用Php 7.0的AWS项目中使用Claviska简单图像库时,未加载必需的扩展GD
所以我需要更新GD php库:
sudo yum install -y php70-gd
然后重新启动httpd
服务以加载更新的php。
sudo /etc/init.d/httpd restart
为我工作!
您可能没有做错任何事情,也可能不需要重启。有时,扩展名不会直接映射到php.ini文件中。因此,您可能需要在php.ini文件中映射新添加的扩展(或者尚未映射的扩展)。在你的情况下,添加
extension=gd.so
一般来说,
extension=<my_extension_name>.so
我的PHP版本是 - PHP 7.2.18 $ php -v
我不得不安装-y php72-gd
$ sudo yum update -y
$ sudo yum install -y php72-gd
$ sudo reboot