[Apache] 开启 .htaccess 后出现 500 错误的解决方法
在网站启用 .htaccess 文件后,如果 Apache 没有进行相应配置,则可能出现 500 Internal Server Error 错误,类似下图:
通常可以采用如下一些措施,通过修改 Apache 配置文件 httpd.conf 来解决这个问题。
可以配合 Apache 安装目录下的 logs/error.log 来定位问题。
1、开启 mod_rewrite 模块:
搜索并打开如下行的注释:
Shell
LoadModule rewrite_module modules/mod_rewrite.so
1
LoadModule rewrite_module modules/mod_rewrite.so
.htaccess...
[Ubuntu] 编译&使用 curl 库进行简单网络请求
当使用C++做HTTP客户端时,目前通用的做法就是使用libcurl。其官方网站的地址是 http://curl.haxx.se/,该网站主要提供了Curl和libcurl。Curl是命令行工具,用于完成FTP, FTPS, HTTP, HTTPS, GOPHER, TELNET, DICT, FILE 以及 LDAP的命令的请求及接收回馈。libcurl提供给开发者,用于使用C++跨平台的开发各种网络协议的请求及响应。里面的文档非常齐全,不过都是英文的。
0、系统环境:
Ubuntu 14.04
curl v7.46.0
1、编译 libcurl 库:
1)下载 curl 源码:
Shell
git clone https://github.com/bagder/curl.git
1
git clone https://github.com/bagder/curl.git
或者使用我网盘里面的代码:
http://pan.baidu.com/s/1dDMNrKt
2)检查 curl 依赖项是否安装:
Shell
sudo apt-get...
[iOS] mxnet 的 iOS 版本编译
0、编译环境:
Mac OSX 10.11 Capitan
Xcode 7.1
mxnet 0.5.0
0、下载 mxnet:
参考 sqlite 的方式,mxnet 也提供了一个 Makefile 文件用来生成单文件的版本。这样只需要一个文件加上 BLAS 依赖库就可以运行 predict 预测部分。这一文件移植到任何平台上都会比较容易。
下载 mxnet 版本:
1、生成 mxnet 单文件版:
修改 amalgamation 目录下的 Makefile 文件:
1)修改 OPENBLAS_ROOT...
[iOS][OSX] OpenCV v2.4.13 版本库下载
以下是我这边编译的 OpenCV v2.4.13 版本库,包含了 iOS 和 Mac 版本。
其中 iOS 版本为静态库并包含 armv7 arm64 架构。
iOS 编译选项:
OpenCV 2.4.13 版本下载(OSX libc++版本,包含静态库与动态库,去除 lib1394 和 ffmpeg):
https://pan.baidu.com/s/1nv4ogXF
OpenCV 2.4.13 版本下载(iOS libc++版本):
http://pan.baidu.com/s/1jHL4J2I
OpenCV 2.4.9 版本下载(iOS...
[Mac] Mac 下安装 mxnet 库和基本使用
安装环境:
Mac OS 10.11.1 Capitan
Xcode 7.1
Python 2.7
mxnet 0.5.0
Homebrew
1、安装依赖库:
0)安装 Homebrew*:
后面的安装基本上都是使用 Homebrew 这个工具,如果你没有这个工具的话可以使用如下命令进行安装:
Shell
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
1
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
1)安装 OpenCV:
为了方便依赖库的安装,我们这里使用 homebrew 进行库的安装和管理,有了这一工具后,您只需在命令窗口运行如下命令即可:
Shell
brew update
brew tap homebrew/science
brew...
[ROS] 安装 sound_play 驱动及播放、合成声音
相关简介:
audio_common 是一个第三方音频开发包,它实现了音频驱动以及相关的 ROS 消息机制。它包含如下几个库:
1)audio_capture: 从麦克风采集声音
2)audio_play: 从 audio_capture 收集声音并通过声卡播放
3)audio_common_msgs: 声音传输的消息定义
4)sound_play: 播放声音和语音合成
我们这里主要使用的是最后这个 sound_play,它的主要的功能包括:
1)声卡驱动;
2)播放声音(wav、ogg);
3)语音合成(仅限英文)
同时它支持 C++ 以及 python 接口,使得开发者可以不用关心底层的驱动和算法。
0、安装环境:
Ubuntu 14.04
ROS indigo
audio_common 0.2.8
1、下载源码:
sound_play 源码地址如下,它是 audio_common 的一个组件,我们这里将整个 audio_common 库下载:
https://github.com/ros-drivers/audio_common
我这里使用的是 0.2.8 版,您可以在以上地址下载更新版本,或者直接使用我这里的源码包:
audio_common-master.zip
2、编译源码:
1)在你的...
Windows 下安装和启用 Apache 服务器
0、安装环境:
Windows 7 64bits
Apache 2.4
1、下载 Apache:
1)访问 http://httpd.apache.org/ 选择合适的版本下载,我们这里选择 2.4.17:
2)点击 Files for Microsoft Windows:
3)点击 ApacheHaus:
4)选择合适的版本下载即可:
* 如果您不方便从官网下载可以直接使用我的版本:
http://pan.baidu.com/s/1i3FDlFB
2、安装 Apache:
1)解压下载的文件包 httpd-2.4.17-x64.zip,将其中的 Apache24 文件夹拷贝到 C 盘根目录,例如 C:/Apache24 下面。
2)打开命令行程序进入 Apache24\bin 目录,然后运行如下命令进行安装:
Shell
httpd -k...
[ROS] [笔记(3)] 第三个例子:Hello & Check Robot(launch文件)
本教程将把前面两个例子综合,同时包含基本的 launch 启动文件。
0、Hello & Check Robot 的场景:
我们想要完成这样一个场景:
1)有一系列 robot 排成一排(publisher)向管理员(subscriber)报道,每个人都发一个消息(robotID),包含 name 和 id 类似:
name=robot id=0
name=robot id=1
name=robot id=2
2)有一个管理员订阅了这个消息(robotID),然后读取消息内容并且和每个机器人打招呼:
Hello Robot 0
Hello Robot 1
Hello Robot 2
3)因为机器人有好有坏,因此有一个服务 checkRobotSrv ,这一服务就是你告诉它 Robot...
[ROS] [笔记(2)] 第二个例子:Check Robot(服务、服务器与客户端)
本例程包含如下内容:
1)自定义服务;
2)服务器与客户端;
3)launch 文件。
0、Check Robot 的场景:
我们想要完成这样一个场景:
1)因为机器人有好有坏,因此有一个服务 checkRobotSrv ,这一服务就是你告诉它 Robot 的 name 和 id 它会告诉你这个 robot 是好是坏。
2)该管理员调用 checkRobotSrv 服务来检查 Robot 是好(Good Robot)还是坏(Bad Robot)并且输出。
可以看到上面的1)和2)都是我们在 Hello Robot 教程 里面完成的工作。
要完成以上的功能,我们需要创建消息(robotID)、发送消息的发送者(publisher)、接收消息的订阅者(subscriber),这些工作我们在 Hello...
[ROS] [笔记(1)] 一个最简单的例子:Hello Robot(消息、发布者与订阅者)
本例程包含如下内容:
1)创建编译 Package;
2)自定义消息;
3)发布者与订阅者。
0、Hello Robot 的场景:
我们想要完成这样一个场景:
1)有一系列 robot 排成一排(publisher)向管理员(subscriber)报道,每个人都发一个消息(robotID),包含 name 和 id 类似:
name=robot id=0
name=robot id=1
name=robot id=2
2)有一个管理员订阅了这个消息(robotID),然后读取消息内容并且和每个机器人打招呼:
hello robot 0
hello robot 1
hello robot 2
要完成以上的功能,我们需要创建消息(robotID)、发送消息的发送者(publisher)、接收消息的订阅者(subscriber)。他们之间的关系是这样的:
1、创建 ros 目录:
先我们为所有的 ROS 工程创建如下路径:
Shell
mkdir ~/ROS
1
mkdir ~/ROS
...