一直以来,用uniGUI做开发都比较顺手,但是缺点是这样做的只能在Windows环境下使用。而我们现在租用的虚拟服务器,往往都是CentOS的环境。

而DELPHI + uniGUI能不能做LINUX的应用,甚至能不能做CentOS环境下Apache的模块,我在网上找了很多资料,最后拼凑到一起。将来有人需要,就不用再走弯路了。

1、DELPHI + uniGUI开发LINUX的应用,这个肯定是没问题的。具体可以参考官网的操作手册:uniGUI Developer Manual,Developer's Guide  -- Deploymen -- Linux64。

2、官网讲的是LINUX,与CentOS还是有一点儿不同的。我在配置PAServer完成后,编译程序的时候,提示

cannot find -lgcc_s

遇到这种情况,就去CentOS服务器上,执行以下命令:

yum install zlib-devel
yum install gcc gcc-c++
yum install libcurl
yum install libcurl-devel

执行完这几个命令后,再回到DELPHI重新编译程序,应该就可以通过了。

3、编译完成的so文件,上传到服务器上,并按照官网操作手册中的进行配置,如果遇到网页显示Loading的情况,就这样修改:

1)把 X:\Program Files (x86)\FMSoft\Framework\uniGUI目录下的ext-7xxx, uni-1.9.xx, unim-1.9.xx三个目录上传到服务器上,我这里上传到/etc/fmsoft/unigui/unigui_runtime下面了。

2)修改程序的UniGUIServerModuleBeforeInit部分,如下:

procedure TUniServerModule.UniGUIServerModuleBeforeInit(Sender: TObject);
begin
{$ifdef Linux64}
FrameworkFilesRoot := '/etc/fmsoft/unigui/unigui_runtime';
{$endif}
end;

这样修改完的程序就不会再提示Loading了

4、配置按照官网手册讲的进行配置,因为官网用的是Linux64举例,和CentOS9以上略有不同。

比如官网手册说要配置apache2/mods_enabled的目录,这些再CentOS里全部写到/etc/httpd/conf/httpd.conf中。

<Location /uniapache>
SetHandler libMyTest-handler
</Location> LoadModule uniapache_module /usr/myweb/libMyTest.so StartServers 1
ServerLimit 1

把以上代码改成你的APP的名字,就直接复制到httpd.conf文件的最后即可。

重启一下Apache,用命令

systemctl restart httpd

5、如果打开网页,马上就提示session过期,刷新会看到session的变化,但依然过期,只需要将 /etc/httpd/conf.modules.d/00-mpm.conf 中的

LoadModule mpm_prefork_module modules/mod_mpm_prefork.so前面加上 # 注释掉,然后将,
#LoadModule mpm_event_module modules/mod_mpm_event.so前面的 # 去掉。

DELPHI + uniGUI 开发CentOS环境下的Apache模块遇到的问题的更多相关文章

  1. Centos环境下部署游戏服务器-软件安装

    这篇文章主要介绍一下游戏服务器需要安装的软件和需要修改的配置.现介绍下项目,本项目服务器端是c++ + mysql组合,客户端是as写的,需要安装的服务为Mysql,Php,Apache, 以及一个n ...

  2. 在Centos环境下安装兼容Apache2.4高版本SVN服务

    在阿里云Centos环境下,搭建PHP运行环境,PHP选择了php7版本,Mysql选择了5.7版本,Apache选择了2.4版本,在搭建SVN版本控制服务过程中出现了不兼容问题,当前环境下Apach ...

  3. windows环境下,apache虚拟主机配置

    在windows环境下,apache从配置文件的相关配置: Windows 是市场占有率最高的 PC 操作系统, 也是很多人的开发环境. 其 VirtualHost 配置方法与 Linux 上有些差异 ...

  4. linux系统Centos环境下搭建SVN服务器及权限配置

    linux系统Centos环境下如何搭建SVN服务器以及svnserve.conf.authz.passwd配置文件详细介绍   至于svn的概念,这里就不做详细阐述了,可以自行百度.简单来讲就是一个 ...

  5. centos环境下使用percona-xtrabackup对mysql5.6数据库innodb和myisam进行快速备份及恢复

    centos环境下使用percona-xtrabackup对mysql5.6数据库innodb和myisam进行快速备份及恢复 有时候我们会碰到这样的业务场景: 1.将大的数据库恢复到本地进行业务测试 ...

  6. CentOS环境下R语言的安装和配置

    最近在看数据统计和分析,想到了R语言,于是就着手在自己的CentOS环境下进行安装和配置.步骤如下: 1.前往R官网下载安装包. 2.解压压缩包:tar xvzf R-3.2.2.tar.gz 3.进 ...

  7. CentOS 环境下基于 Nginx uwsgi 搭建 Django 站点

    因为我的个人网站 restran.net 已经启用,博客园的内容已经不再更新.请访问我的个人网站获取这篇文章的最新内容,CentOS 环境下基于 Nginx uwsgi 搭建 Django 站点 以下 ...

  8. centos环境下输入命令不能有中文那么我怎么插入中文数据到数据库

    centos环境下输入命令不能有中文那么我怎么插入中文数据到数据库 如下图: 首先查看是否安装了中文语言支持组件 yum grouplist 没有的话安装 yum install Chinese Su ...

  9. centos环境下创建数据库和表的方法

    centos环境下创建数据库和表的方法 //查询数据库的命令: mysql> SHOW DATABASES; +--------------------+ | Database         ...

  10. centos环境下登录mysql报 ERROR 1045 (28000)怎么解决

    centos环境下登录mysql报 ERROR 1045 (28000)怎么解决 新入手一台虚拟机,Centos7系列的操作系统,安装mysql后,执行连接出现了Mysql ERROR 1045 (2 ...

随机推荐

  1. 【UEFI】HOB 从概念到代码

    总述 使用 HOB 的原因是因为,在 PEI 阶段内存尚未完全初始化,到了 DXE 阶段才完整初始化了内存,所以无法通过简单的内存地址传递数据,并且我们仍然有一些对于内存空间存储的需求,因此发明了 H ...

  2. fastjson jsonobject对象转为网址传参pathvalue形式并按首字母排序

    效果 代码 @Test public void test() { JSONObject jsonObject = new JSONObject(true); jsonObject.put(" ...

  3. Windowns下Go环境搭建(含GoLand激活),并运行第一个Go程序

    As we all know, Go是一门注重简单.可靠.高效的编程语言.它比其他语言都简单,所以学起来更快. 在2007年,谷歌的搜索引擎出了一个问题.当谷歌工程师尝试调试新代码时,单单编译就数百万 ...

  4. HarmonyOS运动开发:精准估算室内运动的距离、速度与步幅

    前言 在室内运动场景中,由于缺乏 GPS 信号,传统的基于卫星定位的运动数据追踪方法无法使用.因此,如何准确估算室内运动的距离.速度和步幅,成为了运动应用开发中的一个重要挑战.本文将结合鸿蒙(Harm ...

  5. Squid代理配置使用

    1.Squid简单说明 Squid Cache(简称为Squid)是HTTP代理服务器软件.Squid用途广泛,可以作为缓存服务器,可以过滤流量帮助网络安全,也可以作为代理服务器链中的一环,向上级代理 ...

  6. Golang的格式化输出

    一.格式化说明符 通用占位符: %v 值的默认格式表示 %+v 类似%v,但输出结构体时会添加字段名 %#v 值的Go语法表示 %T 打印值的类型 %% 输出百分号 布尔型占位符: %t 接收bool ...

  7. 开源直播课丨高效稳定易用的数据集成框架——ChunJun类加载原理与实现

    一.直播介绍 前几期,我们为大家分享了ChunJun的数据还原.Hive事务表及传输模块的一些内容,本期我们为大家分享ChunJun类加载原理与实现. 本次直播我们将从Java 类加载器解决类冲突基本 ...

  8. VisualStudio2022制作多项目的解决方案模板

    VisualStudio 2022 本身只提供了,一个项目生成模版,并没有多个项目一起打包生成模版,不过,可以使用nuget 跟dotnet来打包整个解决方案 第一步 如果没有nuget这个工具的话可 ...

  9. Edge 突然显示网站“不安全”的一个处理办法。

    Edge浏览器升级后,访问以前可以正常访问的网站,地址栏前红色提示"不安全",网页无法访问,一会弹出来提示说"证书可能未被验证". 在我们确认该网站是正常的情况 ...

  10. CF1918D Blocking Elements 题解

    CF1918D Blocking Elements 如果你做过以下两道题目,那么这道题对你来说会简单得多. P1182 数列分段 Section II P2034 选择数字 由于题目要求最大值的最小值 ...