相关疑难解决方法(0)

使用UCLIBC交叉编译PHP

这是一个已经存在的,以前的后期关闭,移动到服务器并再次关闭.我认为这篇文章是一个有效的stackoverflow问题,因为我认为它是由一些automake /编译/链接错误引起的.这是编程问题,而不是服务器管理问题.

交叉编译PHP

https://serverfault.com/questions/418521/cross-compile-php

开始发布

我已经下载了PHP 5.4.0源代码,将其解压缩并移动到源文件夹中.

我做配置:

./configure --build=x86_64-unknown-linux-gnu --host=arm-linux-uclibcgnueabi --prefix=/usr/arm/www CC="arm-linux-uclibcgnueabi-gcc --sysroot=/toolchains/gnu_cortex-a9_tools/"  --disable-libxml --disable-dom  --without-iconv --without-openssl --disable-simplexml --disable-xml --disable-xmlreader --disable-xmlwriter --without-pear --without-sqlite3 --disable-pdo --without-pdo-sqlite --disable-phar  --with-config-file-path=/etc/
Run Code Online (Sandbox Code Playgroud)

其次是

make
Run Code Online (Sandbox Code Playgroud)

没有错误,一切都运行良好.接下来我做一个make install.

make install
Run Code Online (Sandbox Code Playgroud)

一切都运行良好.我将它移动到目标平台并运行

/usr/arm/www/bin/php -v
PHP 5.4.0 (cli) (built: Aug 15 2012 16:07:41) 
Copyright (c) 1997-2012 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2012 Zend Technologies
Run Code Online (Sandbox Code Playgroud)

我用我的网络服务器和php直接测试一个简单的主页.

<?php echo "hello" ?>
# php index.php
hello
Run Code Online (Sandbox Code Playgroud)

它按预期工作.接下来我测试:

<?php
$output = shell_exec('ls -lart');
echo "<pre>$output</pre>";
?>
Run Code Online (Sandbox Code Playgroud)

哦,不!

# …
Run Code Online (Sandbox Code Playgroud)

php linux arm glibc uclibc

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

标签 统计

arm ×1

glibc ×1

linux ×1

php ×1

uclibc ×1