小编Lip*_*yor的帖子

无法使用Apache 2.4从PHP5切换到PHP7

我最近下载了最新版本的AppServ(Appserv8)for Windows.它安装Apache 2.4,MySQL 5.7和版本的PHP5PHP7.安装后,使用的PHP版本为5.

我尝试使用随安装提供的脚本" PHP Version Switch " 来切换版本,但它似乎无法正常工作.

我试图手动编辑http.conf文件Apache24夹中的文件,但没有结果.

使用这些行Apache通常使用PHP5启动:

LoadModule php5_module C:/AppServ/php5/php5apache2_4.dll
PHPIniDir "C:/AppServ/php5/"
Run Code Online (Sandbox Code Playgroud)

如果我编辑:

LoadModule php7_module C:/AppServ/php7/php7apache2_4.dll
PHPIniDir "C:/AppServ/php7/"
Run Code Online (Sandbox Code Playgroud)

当我尝试启动Apache时,我收到以下错误:

httpd.exe: Syntax error on line 180 of C:/Appserv/Apache24/conf/httpd.conf: Cannot load C:/Appserv/php7/php7apache2_4.dll into server: Impossibile trovare il modulo specificato.
Run Code Online (Sandbox Code Playgroud)

(部分错误是意大利语:无法找到指定的模块)

请注意,dll位于路径中指定的文件夹中.我坚持这个错误,我不知道我在哪里修改配置文件(如果这是问题).

EDIT1: 在某个地方我发现了这个讨论,其中作者解释说,由于Visual C++的依赖性,DLL可能无法读取.我检查了我的系统,我从多个Microsoft Visual C++可再发行组件安装中清除它,我尝试安装x64或x86版本.

使用x86版本,我遇到了上一个问题.使用x64版本,由于缺少dll,我无法启动Apache:应该是因为apache是​​x86版本(我不确定).

EDIT2: 正如@chugadie所建议的那样,我尝试使用dependencywalker来跟踪依赖关系.我找到了几个带前缀的丢失文件API-MS-WIN-CRT.现在我正在尝试修复但是我有几个问题,dll是x86和x64.我认为最好的方法是在x64架构中重新安装所有组件.

非常感谢任何帮助.

php apache

2
推荐指数
1
解决办法
7810
查看次数

如何通过注释获取类的字段

我创建了一个简单的注释类:

@Retention(RUNTIME)
public @interface Column {
    public String name();
}
Run Code Online (Sandbox Code Playgroud)

我在这样的一些类中使用它:

public class FgnPzt extends Point {

    public static final String COLUMN_TYPE = "type";
    @Column(name=COLUMN_TYPE)
    protected String type;

}
Run Code Online (Sandbox Code Playgroud)

我知道我可以遍历声明的字段并获得这样的注释:

for (Field field : current.getDeclaredFields()) {
    try {
        Column c = field.getAnnotation(Column.class);
        [...]
    } catch(Exception e) {
        [...]
    }
}
Run Code Online (Sandbox Code Playgroud)

如何在type不迭代类的声明字段的情况下直接通过其注释名称获取字段?

java annotations

1
推荐指数
1
解决办法
2574
查看次数

标签 统计

annotations ×1

apache ×1

java ×1

php ×1