“Download failed.: Could not create Temporary file”

I’ve been getting this error in WordPress, so I wasn’t using the auto-update functionality, which is a real time-saver. My problem was that WordPress was trying to write to /tmp/ which is a no-no as my host (Segpub.net) uses Safe Mode. You can solve this issue by adding a couple of directives to your wp-config.php file, namely WP_TEMP_DIR. Adding these lines to wp-config.php fixed the problem for me:

define('WP_TEMP_DIR', ini_get('upload_tmp_dir'));
putenv('TMPDIR=' . ini_get('upload_tmp_dir'));

Thanks to the WordPress forums for my answer.

Using WordPress Functions Outside of WordPress

I’m working on a project that requires the use of WordPress functions (mainly creating users and such) outside of the WordPress installation. After some Google searches of varying specificity, I’ve found a method that appears to work for both WordPress and WordPress Mu. I’ve reproduced it here for my own purposes, as well as yours.

WordPress.org member oranfry posted the following helpful bit of code, to be inserted in the top of the wp-load.php, right after the tag:

global $domain, $path, $base, $admin_page_hooks, $ajax_results, $all_links, $allowedposttags, $allowedtags, $authordata, $bgcolor, $cache_categories, $cache_lastcommentmodified, $cache_lastpostdate, $cache_lastpostmodified, $cache_userdata, $category_cache, $class, $comment, $comment_cache, $comment_count_cache, $commentdata, $current_user, $day, $debug, $descriptions, $error, $feeds, $id, $is_apache, $is_IIS, $is_macIE, $is_winIE, $l10n, $locale, $link, $m, $map, $max_num_pages, $menu, $mode, $month, $month_abbrev, $monthnum, $more, $multipage, $names, $newday, $numpages, $page, $page_cache, $paged, $pagenow, $pages, $parent_file, $preview, $previousday, $previousweekday, $plugin_page, $post, $post_cache, $post_default_category, $post_default_title, $post_meta_cache, $postc, $postdata, $posts, $posts_per_page, $previousday, $request, $result, $richedit, $single, $submenu, $table_prefix, $targets, $timedifference, $timestart, $timeend, $updated_timestamp, $urls, $user_ID, $user_email, $user_identity, $user_level, $user_login, $user_pass_md5, $user_url, $weekday, $weekday_abbrev, $weekday_initial, $withcomments, $wp, $wp_broken_themes, $wp_db_version, $wp_did_header, $wp_did_template_redirect, $wp_file_description, $wp_filter, $wp_importers, $wp_plugins, $wp_taxonomies, $wp_the_query, $wp_themes, $wp_object_cache, $wp_query, $wp_queries, $wp_rewrite, $wp_roles, $wp_similiesreplace, $wp_smiliessearch, $wp_version, $wpcommentspopupfile, $wpcommentsjavascript, $wpdb;

and in wp-settings.php replace all replace all occurrences of =& with =. Then include wp-load.php in your external file, and (in my case) wp-includes/registration.php. You can now call WordPress functions such as wp_insert_user.